next up previous contents index
suivant: Commandes évoluées pour les monter: Les variables précédent: Les variables spéciales   Table des matières   Index


Manipulation sur les variables

Il est possible de combiner des appels à une variable avec une expression qui sera évaluée par le shell et, ainsi, renverra une valeur suivant le contexte.

Expression Résultat de l'évaluation
   
${variable-chaine} Si la variable est initialisée, l'expression renvoie son contenu. Dans le cas contraire, elle renvoie la chaîne de caractères spécifiée.
${variable:-chaine} Si la variable est initialisée et est non vide (différente de la chaîne vide « »), l'expression renvoie son contenu. Dans le cas contraire, elle renvoie la chaîne de caractères spécifiée.
${variable=chaine} Si la variable est initialisée, l'expression renvoie son contenu. Dans le cas contraire, la variable est initialisée avec la chaîne spécifiée dans l'expression. La valeur finale retournée au shell est le nouveau contenu de la variable (donc la chaîne spécifiée dans l'expression).
${variable:=chaine} Si la variable est initialisée et est non vide (différente de la chaîne vide « »), l'expression renvoie son contenu. Dans le cas contraire, la variable est initialisée avec la chaîne spécifiée dans l'expression. La valeur finale retournée au shell est le nouveau contenu de la variable (donc la chaîne spécifiée dans l'expression).
${variable?chaine} Si la variable est initialisée, l'expression renvoie son contenu. Dans le cas contraire, le shell affiche un message d'erreur dont la forme est : « variable: chaîne ».
${variable:?chaine} Si la variable est initialisée et est non vide (différente de la chaîne vide « »), l'expression renvoie son contenu. Dans le cas contraire, le shell affiche un message d'erreur dont la forme est : « variable: chaîne ».
${variable+chaine} Si la variable est initialisée, l'expression renvoie la valeur de la chaîne. Dans le cas contraire, on renvoie une chaîne nulle.
${variable:+chaine} Si la variable est initialisée et est non vide (différente de la chaîne vide « »), l'expression renvoie la valeur de la chaîne. Dans le cas contraire, on renvoie une chaîne nulle.
   





Exemple 8..2 :


echo ${MY_VAR-"non defini"}
echo ${HOME_ADM=/home/adm}
echo ${MY_VAR?"Variable non initialisee dans `basename $0`"}
echo ${MY_VAR+"Ca roule, ma poule"}

Remarque 8..1 :


Attention, le contenu de la variable « * » est le résultat de l'évaluation de la ligne de commande. Par conséquent, les espaces ou tabulations supplémentaires délimitant les arguments du script seront éliminés.

Par conséquent, le programme appelé de la façon suivante sur la ligne de commandes :
% nom_prog arg1 arg2 arg3 arg4 contiendra la valeur suivante dans la variable « * » :
arg1 arg2 arg3 arg4 et non pas :
arg1 arg2 arg3 arg4


next up previous contents index
suivant: Commandes évoluées pour les monter: Les variables précédent: Les variables spéciales   Table des matières   Index
baudry@esme.fr