GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre obtenir la sortie de la commande en utilisant `command` et $ (commande) dans Shell ??

Cette question a déjà des réponses ici :Quelle est la différence entre $(stuff) et `stuff` ?

(6 réponses)
Fermé il y a 7 ans.

Quelle est la différence entre collecter une sortie de commande dans un script Shell en utilisant `command` et $(command) ? Par exemple :

# IP1=$(ifconfig eth0 | grep -e "inet " | cut -d: -f2 | awk '{print $1}')
# IP2=`ifconfig eth0 | grep -e "inet " | cut -d: -f2 | awk '{print $1}'`
# echo $IP1 $IP2
> 192.241.145.112 192.241.145.112

Réponse acceptée :

La principale différence est que les backticks ne s'imbriquent pas :vous ne pouvez pas intégrer une commande backticked dans une autre. (En fait, vous pouvez, mais vous devez les échapper par une barre oblique inverse, et cela devient plus poilu à partir de là.) C'était, je crois, la principale motivation pour proposer la nouvelle syntaxe $(command) .

Le $(command) fournit également un raccourci pratique pour interpoler le contenu d'un fichier :$(<filename) est équivalent à $(cat filename) .

Autre différence :$() n'est pas pris en charge par certains shells courants.


Linux
  1. Soyez trié avec sort en ligne de commande

  2. Alias ​​de ligne de commande dans le shell Linux

  3. Comment affecter la sortie d'une commande à une variable Shell ?

  4. Stockage de la sortie de la commande dans la variable Shell ?

  5. Quelle est la différence entre Sudo Su - et Sudo Su - ?

8 façons d'obtenir de l'aide sur le shell Linux

Linux – Quelle est la différence entre `su -` et `su –login` ?

3 astuces pour obtenir plusieurs sorties de commandes dans la même ligne

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

Différence entre '{}' et {} dans la commande find ?

Masquer la sortie d'une commande shell uniquement en cas de succès ?