GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterschied zwischen Piping und Befehlserweiterung?

Dieser Link ist relevant. Was ist der Unterschied zwischen Substitution und Piping to Bash, aber ich verstehe nicht ganz alles, was gesagt wird.

Was ist der Unterschied zwischen der Weiterleitung von command1 | command2 im Vergleich zu expandierenden Befehlen command2 $(command1) ? Zum Beispiel

vi $(find /home | grep xyzzy)

spuckt Ergebnisse an vi aus, um sie zu bearbeiten, während

find /home | grep xyzzy | vi

scheint bei mir nicht zu funktionieren. Aber ich verstehe den grundlegenden Unterschied nicht.

Bearbeiten

Andere relevante Beiträge

Prozesssubstitution und Pipe

Prozesssubstitution und Pipe

Akzeptierte Antwort:

A|B

führt A und B (parallel) aus, und die Standardausgabe von A wird in die Standardeingabe von B eingespeist. Im Fall von

A $(B)

die Shell führt zuerst B aus, sammelt die Standardausgabe von B, führt dann A aus, weist aber für diese Ausführung die einzelnen Wörter dem ARGV-Vektor von A zu (d. h. A kann auf diese Wörter durch den üblichen argv-Mechanismus zugreifen, der von C und anderen Sprachen bekannt ist ).

Abgesehen davon, dass es sich in beiden Fällen um zwei Programme A und B handelt, sehe ich keine Ähnlichkeit zwischen ihnen.


Linux
  1. Der Unterschied zwischen [[ $a ==Z* ]] und [ $a ==Z* ]?

  2. Unterschied zwischen Snat und Maskerade?

  3. Was ist der Unterschied zwischen dem Befehl „locate“ und „find“ in Linux?

  4. Linux-Unterschied zwischen sudo crontab -e und nur crontab -e

  5. Unterschied zwischen '{}' und {} im Find-Befehl?

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

Der Unterschied zwischen mehr, weniger und den meisten Befehlen

Was ist der Unterschied zwischen Cat und Touch Command?

Unterschied zwischen apt und apt-get erklärt

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Was ist der Unterschied zwischen Kill- und Killall-Befehlen?