shell_builtins, case, for, foreach, function, if, repeat, select, switch, until, while - シェル組み込み関数
シェルコマンドインタプリタである 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 が指定されている場合、. コマンドの処理中にこの引数が定位置パラメータになり、終了すると元の定位置パラメータが復元されます。そうでない場合、定位置パラメータは変更されません。終了ステータスは、最後に実行されたコマンドの終了ステータスです。
times(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)、Intro(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)、time(1)、trap(1)、typeset(1)、umask(1)、wait(1)、chdir(2)、chmod(2)、creat(2)、umask(2)、getopt(3C)、profile(5)、environ(7)