複数のコマンドの標準出力を1つのコマンドにパイプする方法はありますか?複数のコマンドを1つのコマンドにパイプする
例1:コマンドをエコーすべての3つの出力を組み合わせて、ソート:
echo zzz; echo aaa; echo kkk
所望の出力:
aaa
kkk
zzz
例2:すべてのコマンドが単一になるように次のように書き換えます一時ファイルにリダイレクトせずにパイプを使用するコマンドライン。
setopt > /tmp/foo; unsetopt >> /tmp/foo; set >> /tmp/foo; sort /tmp/foo
+1。また、サブシェルを生成しない中括弧を使用することもできます。構文は少し厳密です: '{setopt; unsetopt;セット; } |並べ替え| less " - 中括弧の周りの空白と末尾のセミコロンが必要です。 –
@glenn:パイプラインがそれをサブシェルに強制するので、それは問題ではありません(bash 3.2.48でテストされています)。 –
'$'はプロンプトであり、コマンドの一部ではないことに注意してください。 – Gilly