Tautan ini relevan Apa perbedaan antara substitusi dan pemipaan ke bash tetapi saya tidak begitu memahami semua yang dikatakan.
Apa perbedaan antara pemipaan command1 | command2
versus memperluas perintah command2 $(command1)
? Misalnya
vi $(find /home | grep xyzzy)
memuntahkan hasil ke vi untuk diedit sedangkan
find /home | grep xyzzy | vi
tampaknya tidak bekerja untuk saya. Tapi saya tidak memahami perbedaan mendasar.
Sunting
Postingan lain yang relevan
Substitusi proses dan pipa
Substitusi proses dan pipa
Jawaban yang Diterima:
A|B
mengeksekusi A dan B (secara paralel), dan output standar A diumpankan ke input standar B. Dalam kasus
A $(B)
shell mengeksekusi B pertama, mengumpulkan output standar B, kemudian mengeksekusi A, tetapi untuk eksekusi ini memberikan kata individual ke vektor ARGV dari A (yaitu A dapat mengakses kata-kata ini dengan mekanisme argv biasa yang dikenal dari C dan bahasa lain ).
Selain fakta bahwa dalam kedua kasus tersebut ada dua program A dan B yang terlibat, saya tidak melihat adanya kesamaan di antara keduanya.