シェル
パイプラインとリダイレクト
-
パイプとパイプ記号
- パイプラインはプロセス通信の方法の1つでもあります
- パイプ文字 "|"は、前のコマンド実行の結果を次のコマンドに渡します
- PS | ネコ
- エコー123 | PS
- パイプ文字の両側に外部コマンドがある場合、子プロセスが確立されます。内部コマンドを使用する場合は、実行する前にコマンドをスクリプトにカプセル化することをお勧めします。必要でない場合は、パイプ文字内で内部コマンドを使用しないでください。
-
サブプロセスとサブシェル
- 子シェルは親シェルによって作成されたプロセスであり、親シェルは子シェルを作成してfork関数を呼び出します。
- 組み込みコマンドはサブシェルを作成せず、外部コマンドはサブシェルを作成します。
- コロンの使用法:コロンは、while :; do ... done(while loop condition is always true)のような永遠の真実(TRUEキーワードに相当)を表すことができます。次に、コロンはファイルをクリアできます:>ログはコロンをファイルにリダイレクトしますログファイルの内容は消去されるため、:>ネーミングはファイルを消去するために一般的に使用されるコマンドです。次に、コロンの最も重要な使用法は、何もせず、パラメーターの展開のみを行います。
- 括弧構造により、サブシェルでコマンドを強制的に実行できます
- サブプロセスとサブシェルの詳細な説明
-
リダイレクト記号
- プロセスは、デフォルトで標準入力、標準出力、エラー出力の3つのファイル記述子を開きます。
- リダイレクト記号「<」を入力してください
- var </ path / to / a / fileを読み取る
- 出力リダイレクト記号
- ">"入力する前にファイルをクリアしてください
- 「>>」ファイルは変更されず、最後に追加入力
- "2>"指定されたファイルに誤った情報を出力します
- "&>"指定されたファイルに出力される情報の正誤
- 例:echo 123> / path / a / file
- 入力と出力のリダイレクトの組み合わせ
- cat> / path / a / file << EOF
- 私は#USERです
- EOF