\r\n\r\n

bashのビルトインコマンドは何をするのですか?

bashの組み込みコマンドはとても便利ですが、「組み込み」そのものは実際に何をするのでしょうか?本日のSuperuser Q&Aは、好奇心旺盛な読者からの質問にお答えします。

Bashの組み込みコマンドはとても便利ですが、「組み込み」そのものは実際に何をするのでしょうか?本日のSuperuser Q&Aは、好奇心旺盛な読者の方からの質問にお答えします。

本日のQ&Aセッションは、コミュニティ主導のQ&Aサイト群であるStack Exchangeの分派であるSuperUserの提供によるものです。

ご質問

スーパーユーザの読者であるlfalinは、Bashの組み込みコマンドが何をするものなのか知りたがっている。

組み込みコマンドはわかるけど、組み込み自体はどうするんだ?which ls を実行すると /bin/ls が表示されますが、which builtin を実行しても何も表示されません。 man builtin は builtin コマンドのリストを表示するだけで、その中のひとつが builtin です。builtin -help は builtin: usage: builtin [shell-builtin [arg ...]] と教えてくれますが、それが何をするものなのかはまだわかりません。他の組み込みコマンドがそうでないように、Bashの一部になっているのでしょうか?

Bashの組み込みコマンドは何をするのですか?

回答

スーパーユーザーコントリビューターのスピフさんが、答えを教えてくれました。

builtinコマンドは、同じ名前の別のコマンドを実行するのではなく、シェルに組み込まれたバージョンのコマンドを実行することを確認します。

例えば、ディレクトリを変更するたびに何か特別なステータスを表示するcdというシェル関数を定義したけれど、それを失敗して、今は正しくディレクトリを変更できないとします。これで、壊れたシェル機能を実行せずに、組み込みのcd ~と入力すれば、ホームディレクトリにうまくcdで戻れるようになりました。

ちなみに、私が持っているBashのmanページには「SHELL BUILTIN COMMANDS」という項目があり、その中で組み込みコマンドの意味を定義しています(下記に転記)。


何か補足することはありますか?コメント欄でご意見をお聞かせください。他の技術に精通したStack Exchangeユーザーからもっと答えを知りたいですか?ディスカッションスレッドの全文はこちらでご確認ください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ