GNU/Linux >> Tutoriels Linux >  >> Linux

Différence entre l'expansion de la tuyauterie et de la commande ?

Ce lien est pertinent Quelle est la différence entre substitution et pipe to bash mais je ne comprends pas tout ce qui se dit.

Quelle est la différence entre la tuyauterie command1 | command2 par rapport aux commandes d'expansion command2 $(command1) ? Par exemple

vi $(find /home | grep xyzzy)

crache les résultats à vi pour les éditer alors que

find /home | grep xyzzy | vi

ne semble pas fonctionner pour moi. Mais je ne comprends pas la différence fondamentale.

Modifier

Autres messages pertinents

Substitution de processus et tuyau

Substitution de processus et tuyau

Réponse acceptée :

A|B

exécute A et B (en parallèle), et la sortie standard de A est introduite dans l'entrée standard de B. Dans le cas de

A $(B)

le shell exécute d'abord B, collecte la sortie standard de B, puis exécute A, mais pour cette exécution affecte le mot individuel au vecteur ARGV de A (c'est-à-dire que A peut accéder à ces mots par le mécanisme argv habituel connu de C et d'autres langages ).

Mis à part le fait que dans les deux cas deux programmes A et B sont impliqués, je ne vois rien de similaire entre eux.


Linux
  1. Quelle est la différence entre la commande locate et find sous Linux

  2. Différence entre $HOME et '~' (tilde) ?

  3. différence entre les cgroups et les espaces de noms

  4. différence Linux entre sudo crontab -e et juste crontab -e

  5. Quelle est la différence entre &> et >&en bash ?

Comprendre la différence entre les commandes sudo et su sous Linux

La différence entre plus, moins et la plupart des commandes

Quelle est la différence entre le chat et la commande tactile

Différence entre apt et apt-get expliquée

Quelle est la différence entre la commande apt et apt-get ?

Quelle est la différence entre les commandes kill et killall ?