[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.12 特殊ビルトイン・ユーティリティ

プログラムの中には、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 では、historysuspend といったコマンドが特殊ビルトイン・ユーティリティに追加されている。 そこで、bash の場合、‘nice suspend’ というコマンドを実行すると、 シェルのサスペンドは起こらず、エラーメッセージが出力される。


This document was generated on June 7, 2022 using texi2html 1.82.