シェル用語

この表の用語と定義は、シェルの理解に役立ちます。


項目 説明
ブランク ブランクは LC_CTYPE カテゴリーに定義されているブランク文字クラスの文字の 1 つです。 POSIX シェルでは、ブランクはタブまたはスペースです。
組み込みコマンド 検索して別のプロセスを作成するという作業を行わずにシェルが実行するコマンドです。
コマンド シェル言語の構文に従った文字のシーケンスです。 シェルは個々のコマンドを読み取り、直接、または別個にユーティリティーを呼び出して、必要なアクションを実行します。
コメント ポンド記号 (#) で始まる任意のワードです。 このコメントに続くワードとすべての文字は、次の改行文字まで無視されます。
ID 文字または下線で始まるポータブル文字セットの文字、数字、下線のシーケンスです。ID の最初の文字を数字にすることはできません。 ID は、別名、関数、名前付きパラメーターの名前として使用されます。
リスト セミコロン (;)、アンパーサンド (&)、アンパーサンド 2 つ (&&)、バー 2 本 (||) の記号のうちのどれかで区切られた、1 つ以上のパイプラインのシーケンスです。 リストは、オプションで、セミコロン (;)、アンパーサンド (&)、バーとアンパーサンド (|&) のうちのどれかで終わることができます。
;
この記号の前のパイプラインを順次処理します。 シェルは各コマンドを順番に実行し、最後のコマンドが終了するのを待ちます。
&
この記号の前のパイプラインを非同期的に処理します。 シェルは各コマンドを順番に実行しますが、パイプラインはバックグラウンドで処理して、終了は待ちません。
|&
この記号の前のパイプラインを非同期的に処理し、親シェルに対して双方向のパイプを確立します。 シェルは各コマンドを順番に実行しますが、パイプラインはバックグラウンドで処理して、終了は待ちません。 親シェルは、read -p コマンドと print -p コマンドを使用して、生成したコマンドの標準入力からの読み取りや、標準出力への書き出しを行うことができます。 このようなコマンドを複数、同時にアクティブにはできません。
&&
この記号の後に続くリストが処理されるのは、前のパイプラインが終了値ゼロ (0) を戻した場合だけです。
||
この記号の前のパイプラインがゼロ以外の終了値を戻した場合のみ、この記号の後に続くリストを処理します。
セミコロン (;)、アンパーサンド (&)、およびバーとアンパーサンド (|&) は、アンパーサンド 2 つ (&&) およびバー 2 本 (||) よりも優先順位が下です。 ; 記号、& 記号、および |& 記号の優先順位は同じです。 && 記号と || 記号の優先順位も同等です。 セミコロンの代わりに 1 つ以上の改行文字を使用すると、リスト内の 2 つのコマンドを区切ることができます。
注: |& 記号は Korn シェルでのみ有効です。
メタキャラクター それぞれのメタキャラクターはシェルに対して特別な意味を持ち、引用符が付いていなければワードを終了させます。 メタキャラクターには、パイプ (|)、アンパーサンド (&)、セミコロン (;)、より小符号 (<)、より大符号 (>)、左括弧 (()、右括弧 ())、ドル記号 ($)、バッククォート (`)、円記号 (¥)、右引用符 (')、二重引用符 (")、改行文字、スペース文字、タブ文字があります。 シェルは、単一引用符で囲まれているすべての文字を引用と見なし、その文字どおりに解釈します。 メタキャラクターの特別な意味は、引用符で囲まれない限り保たれます。 (メタキャラクターは、C シェルではパーサー・メタキャラクター とも言います。)
パラメーター割り当てリスト Identifier=Value という形式のワードを 1 つまたは複数個含み、この形式では、等号 (=) を囲む両側のスペース (ブランク) がバランスしている必要があります。 つまり、両側にブランクを使用するか、または、どちらにもブランクを使用しないようにします。
注: C シェルでは、パラメーター割り当てリストのフォーマットは setIdentifier=Value です。 等号 (=) を囲む両側のスペースは必須です。
パイプライン パイプ記号 (|) で区切られた、1 つ以上のコマンドのシーケンスです。 パイプラインの個々のコマンドは、最後のコマンドを除き、別個のプロセスとして実行されます。 しかし、パイプで結合されている各コマンドの標準出力は、そのシーケンスの中の次のコマンドの標準入力になります。 リストが括弧で囲われている場合は、別個のサブシェルで動作する単純コマンドとして実行されます。

予約語 ! がパイプラインの前にない場合は、パイプラインで指定された最後のコマンドの終了状況が終了状況になります。それ以外の場合は、終了状況は最後のコマンドの終了状況の論理否定になります。 つまり、最後のコマンドがゼロを戻す場合は終了状況は 1 になり、最後のコマンドがゼロよりも大きい数字を戻す場合は終了状況はゼロになります。

パイプラインのフォーマットは次のとおりです。

[!] command1 [ | command2 ...]
注: 初期のバージョンの Bourne シェルでは、パイプを示すのに脱字記号 (^) を使用していました。
シェル変数 値が割り当てられる名前またはパラメーターです。変数は、変数名、等号 (=)、値の順に入力して割り当てます。 変数名は、変数名の前にドル記号 ($) を付けることによって、割り当てられた値で置き換えることができます。 パス名が長くて、そのパス名の短縮表記を作成する場合に、変数は特に便利です (例えば、ホーム・ディレクトリーを表すのに $HOME を使用する)。定義済み変数とは、シェルが値を割り当てている変数です。ユーザー定義変数は、ユーザーが値を割り当てる変数です。
単純コマンド 任意指定パラメーター割り当てリストとリダイレクトのシーケンス (順序は任意) です。 後には、コマンド、ワード、リダイレクトが続くこともあります。 ;|&||&&|&、復帰改行文字のいずれかで終わります。 コマンド名は、パラメーター 0 (exec サブルーチンで定義されているように) として渡されます。 単純コマンドの値は、正常終了するとゼロの終了状況になり、異常終了するとゼロ以外の終了状況になります。 『sigaction、sigvec、または signal サブルーチン』に、シグナル終了状況の値のリストが入っています。
サブシェル ログイン・シェルまたは現在のシェルの子として実行されているシェルです。
ワイルドカード文字 パターン・マッチング文字 とも呼ばれています。シェルは、それらを割り当てられた値と関連付けます。 基本ワイルドカードは、?*[set] および [!set] です。 ワイルドカード文字は、ファイル名置換を行う場合に特に便利です。
ワード ブランクが含まれていない文字のシーケンスです。 ワードは 1 つ以上のメタキャラクターで区切られます。