next up previous contents index
suivant: Commandes associées monter: Le mode multi-tâche précédent: Tâche de fond -   Table des matières   Index


Substitution de commande

Syntaxe :


 `commande`
 $(commande)

La substitution de commande se fait en utilisant le caractère back quote (« ` ») pour lancer des commandes à insérer dans une chaîne de caractères. La substituion peut aussi s'effectuer en délimitant la commande respectivement par « $( » et « ) ». Il est à noter que la deuxième syntaxe précisée ici est plus récente que la première. Sur d'anciens interpréteurs, celle-ci pourra ne pas être acceptée. Par contre, elle ne posera aucun problème dans les environnements plus récents comme le Bash.

La substitution de commandes dans une chaîne de caractères est une autre facilité offerte par le shell. Elle permet de capturer la sortie d'une commande et de l'assigner à une variable ou de l'utiliser comme un argument d'une autre commande. Comme beaucoup de commandes UNIX génèrent une sortie, la substitution de commandes peut être très intéressante.

A propos de l'efficacité, il est plus rapide, dans certains cas, d'effectuer une substitution de commande plutôt que de passer par une redirection.

Exemple 5..1 :


% echo "my current shell is `basename $SHELL`"
% current_dir=`pwd`
% cd /etc
% cd $current_dir

% echo "my current shell is $(basename $SHELL)"
% current_dir=$(pwd)
% cd /etc
% cd $current_dir


next up previous contents index
suivant: Commandes associées monter: Le mode multi-tâche précédent: Tâche de fond -   Table des matières   Index
baudry@esme.fr