編集する

編集する

このリンクは関連していますbashの置き換えとパイプの違いは何ですか?しかし、私は何を言っているのかよく理解していません。

command1 | command2パイプコマンドと拡張コマンドの違いは何ですかcommand2 $(command1)?例えば

vi $(find /home | grep xyzzy)

編集のために結果をviに出力しますが、

find /home | grep xyzzy | vi

私には効果がないようです。しかし、私は根本的な違いを理解していません。

編集する

その他の関連投稿

プロセス置換とパイプ

プロセス置換とパイプ

ベストアンサー1

A|B

AとBは(並列に)実行され、Aの標準出力はBの標準入力に供給されます。

A $(B)

シェルはまずBを実行し、Bの標準出力を収集してからAを実行しますが、この実行のために個々の単語をAのARGVベクトルに割り当てます(つまり、AはCおよび他の言語で知られている共通argvメカニズムを介して単語にアクセスできます)。

どちらの場合も、2つのプログラムAとBが関連していることを除いて、それらの間に類似点は見られません。

おすすめ記事