[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
プログラムの中には、nice
のように、ほかのプログラムを起動できるものがある。
たとえば、‘nice cat file’ というコマンドは、コマンド ‘cat file’
を実行することによって、cat
プログラムを起動する。しかしながら、exit
のようなシェルの特殊ビルトイン・ユーティリティ (special built-in utilities)
は、この方法で起動することができない。一例を挙げれば、‘nice exit’
というコマンドは、どんな動作をするかが明確に定義されていない。
終了する代わりに、エラーメッセージを出すかもしれないのだ。
POSIX 1003.1-2004 の規格では、特殊ビルトイン・ユーティリティとして次のものを挙げている。
. : break continue eval exec exit export readonly return set shift times trap unset
たとえば、‘.’, ‘:’, ‘exec’ は、特殊ビルトイン・ユーティリティなので、 ‘nice . foo.sh’, ‘nice :’, ‘nice exec pwd’ といったコマンドの動作は、 読者が予想なさるかもしれないようなものにはならない。
(訳注: exec, exit など対して、同じシェルの組み込みコマンドでも、cd, alias, fg, kill, pwd, true, umask などは、通常ビルトイン・ユーティリティ ("regular built-in utilities") と呼ばれている。 もっとも、nice などから実行できないという点では、 特殊ビルトイン・ユーティリティも通常ビルトイン・ユーティリティも変わりがない。 nice などから起動できるとすれば、それは同名の実行ファイルが存在するからだ)。
多くのシェルは、上記のリストを拡張している。
たとえば、bash では、history
や suspend
といったコマンドが特殊ビルトイン・ユーティリティに追加されている。
そこで、bash の場合、‘nice suspend’ というコマンドを実行すると、
シェルのサスペンドは起こらず、エラーメッセージが出力される。
This document was generated on June 7, 2022 using texi2html 1.82.