Substitution de commandes Substitution:de commandes
Les caractères de substitution permettent de remplacer une commande par l’affichage résultant de son exécution. Ce mécanisme est utilisé pour insérer dans une ligne de commande Unix le résultat d’une autre commande.
Syntaxe récente
posix |
ksh |
bash |
commande argument1 $(commande) ... argumentn
Syntaxe originelle avec les apostrophes inversées (anti-quotes) Quote:anti Apostrophe:inversée
bourne |
posix |
ksh |
bash |
commande argument1 `commande` ... argumentn
Premier exemple
Les commandes uname et logname sont remplacées par leur résultat avant exécution de la commande echo.
Syntaxe récente (bash, ksh, posix) :
$ echo Vous êtes connecté sur la machine $(uname -n)
et vous êtes $(logname)
Vous êtes connecté sur la machine rumba et
vous êtes christie
Syntaxe originelle :
$ echo Vous êtes connecté sur la machine `uname -n` et vous êtes `logname`
Vous êtes connecté sur la machine rumba et vous êtes christie
Deuxième exemple
Initialisation d’une variable monuid avec l’uid de l’utilisateur christie :
$ grep christie /etc/passwd
christie:x:2025:2000::/home/christie:/bin/bash
$
$ grep christie /etc/passwd | cut -d: -f3
2025
$
$ monuid=$(grep christie /etc/passwd | cut -d: -f3)
ou
$ monuid=`grep christie /etc/passwd | cut -d: -f3`
$
$ echo $monuid
2025 ...