GNU/Linux >> Linux Esercitazione >  >> Linux

Differenza tra tubazioni ed espansione dei comandi?

Questo collegamento è rilevante Qual è la differenza tra sostituzione e piping per bash ma non capisco tutto ciò che viene detto.

Qual è la differenza tra il piping command1 | command2 rispetto ai comandi di espansione command2 $(command1) ? Ad esempio

vi $(find /home | grep xyzzy)

sputa i risultati a vi per modificarli mentre

find /home | grep xyzzy | vi

non sembra funzionare per me. Ma non capisco la differenza fondamentale.

Modifica

Altri post rilevanti

Sostituzione processo e pipe

Sostituzione processo e pipe

Risposta accettata:

A|B

esegue A e B (in parallelo) e lo standard output di A viene inserito nello standard input di B. Nel caso di

A $(B)

la shell esegue prima B, raccoglie lo standard output di B, quindi esegue A, ma per questa esecuzione assegna le singole parole al vettore ARGV di A (cioè A può accedere a queste parole con il solito meccanismo argv noto da C e da altri linguaggi ).

A parte il fatto che in entrambi i casi sono coinvolti due programmi A e B, non vedo nulla di simile tra loro.


Linux
  1. La differenza tra [[ $a ==Z* ]] e [ $a ==Z* ]?

  2. Qual è la differenza tra individuare e trovare il comando in Linux

  3. differenza tra cgroup e namespace

  4. Linux differenza tra sudo crontab -e e solo crontab -e

  5. Qual è la differenza tra &> e >&in bash?

Comprendere la differenza tra il comando sudo e su su Linux

La differenza tra più, meno e la maggior parte dei comandi

Qual è la differenza tra Cat e Touch Command

Differenza tra apt e apt-get spiegato

Qual è la differenza tra il comando apt e apt-get?

Qual è la differenza tra i comandi kill e killall?