このような表現を見て、command1 | {command2;command3;command4}
それが実際に何を意味するのか気になります。パイプ記号も知っており、{...}
メインシェルの中かっこ内でコマンドを強制的に実行することも知っていますが、その組み合わせが何を意味するのか混乱しています。
ベストアンサー1
パイプラインのさまざまな部分がどれほど複雑であるかは重要ではありません。必要に応じて、通常は別々のスクリプトで視覚化できます(特に、bash
パイプラインの各部分がサブシェルで実行されるようなシェルではさらにそうです)。
スクリプト
command2
command3
command4
...どの薬(名目上、コマンドがサブシェルで実行されていないという事実{ command2; command3; command4; }
に関係なく)、変換された入力は実行で提供されます。{ ...; }
command1
最初のスクリプトの3つのコマンドが実行する操作に応じて、1つ以上の入力を使用できます。1つcommand1
以上の出力が生成されると、その出力はパイプラインの次の部分または端末のどこかに移動されます。または、パイプ出力がリダイレクトされます。