シェルコマンドインタプリタである csh(1)、ksh(1)、ksh88(1)、および sh(1) には、特殊な組み込みコマンドが用意されています。シェルは、case、for、foreach、function、if、repeat、select、switch、until、および while をコマンドとして解釈します。これらのコマンドの詳細は、各シェルのマニュアルページの「コマンド」のセクションに記載されています。ksh(1)では、fc、hash、stop、suspend、times、およびtype はデフォルトでは別名です。
次に示すコマンドは、効率の改善とコマンド間でのデータ共有を可能にするため、シェルに組み込まれています。詳細については、各コマンドのマニュアルページを参照してください。
|
以下に示す特殊コマンドに対しては、入出力のリダイレクションが可能です。ファイル記述子 1 は、デフォルトの出力位置です。ジョブ制御が可能なときには、さらにいくつかの特殊コマンドがシェル環境に追加されます。
組み込みの予約コマンド以外に、sh では次のコマンドが使用されます。
コマンドは何もせず、実行による影響は何もありません。終了ステータス 0 が返されます。
filename からコマンドを読み取り実行し、戻ります。PATH によって指定された検索パスを用いて、filename を含むディレクトリを探します。
組み込みコマンドは C シェル内で実行されます。組み込みコマンドが、パイプラインの いずれかのコンポーネント (最後のコンポーネントを除く) として現われると、それはサブシェル内で実行されます。組み込みの予約コマンド以外に、csh では次のコマンドが使用されます。
NULL コマンド。このコマンドは解釈されますが、実行はされません。
入出力のリダイレクトが可能です。特に断りのないかぎり、出力はファイル記述子 1 上に書き込まれ、構文エラーがなければ終了ステータスは 0 です。
1 つまたは 2 つのアスタリスク (*) が先頭に付加されているコマンドは、次のような特殊な処理を受けます。
コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。
入出力のリダイレクトは変数代入後に行われます。
エラーが発生すると、それを含むスクリプトは中止されます。
変数代入形式で、** を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号のあとに実行され、ワード分割とファイル名生成は実行されません。
組み込みの予約コマンド以外に、ksh88 では次のコマンドが使用されます。
パラメータの展開だけを行います。
file 全体を読み取ってからコマンドを実行します。コマンドは現在のシェル環境において実行されます。PATH によって指定された検索パスを用いて、file を含むディレクトリを探します。引数の arg が指定されていれば、それが定位置パラメータになります。そうでない場合、定位置パラメータは変更されません。終了ステータスは、最後に実行されたコマンドの終了ステータスです。
入出力のリダイレクトが可能です。特に断りのないかぎり、出力はファイル記述子 1 上に書き込まれ、構文エラーがなければ終了ステータスは 0 です。
:、true、false、echo、newgrp、および login を除くすべての組み込みコマンドで、オプションの終わりを示す -- を受け入れます。また、オプション --man を、マニュアルページを標準エラーに出力するように求める要求と解釈し、-? を、使用法に関するメッセージを標準エラーに出力するように求めるヘルプ要求と解釈します。
1 つまたは 2 つの + が先頭に付加されているコマンドは、次のような特殊な処理を受けます。
コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。
入出力のリダイレクトは変数代入後に行われます。
エラーが発生すると、それを含むスクリプトは中止されます。
これらは有効な関数名ではありません。
変数代入形式で、++ を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号のあとに実行され、フィールド分割とファイル名生成は実行されません。
組み込みの予約コマンド以外に、ksh では次のコマンドが使用されます。
パラメータの展開だけを行います。
name が関数 name の予約語構文で定義された関数である場合、この関数は現在の環境で実行されます (name() 構文で定義されている場合と同様)。それ以外の場合で name がファイルを示しているときは、ファイルの全体が読み取られ、コマンドは現在のシェル環境で実行されます。PATH によって指定された検索パスを用いて、ファイルを含むディレクトリを探します。引数 arg が指定されている場合、. コマンドの処理中にこの引数が定位置パラメータになり、終了すると元の定位置パラメータが復元されます。そうでない場合、定位置パラメータは変更されません。終了ステータスは、最後に実行されたコマンドの終了ステータスです。
Intro(1), alias(1), break(1), builtin(1), cd(1), chmod(1), csh(1), disown(1), echo(1), exec(1), exit(1), find(1), getoptcvt(1), getopts(1), glob(1), hash(1), history(1), jobs(1), kill(1), ksh(1), ksh88(1), let(1), limit(1), login(1), logout(1), newgrp(1), nice(1), nohup(1), print(1), printf(1), pwd(1), read(1), readonly(1), set(1), sh(1), shift(1), sleep(1), suspend(1), test(1)test(1), test(1B), time(1), times(1), trap(1), typeset(1), umask(1), wait(1), chdir(2), chmod(2), creat(2), umask(2), getopt(3C), profile(4), environ(5)