Le remplacement de variables en shell Bash

Publié par jipicy - Dernière mise à jour le 31 janvier 2010 à 22:20 par aquarelle

Le remplacement de variables


Introduction


Il peut s'avérer utile de s'assurer qu'une variable est bien définie avant de procéder à son remplacement, ou tout simplement de s'assurer que celle-ci n'est pas vide, et dans ce cas de l'initialiser avec une valeur par défaut.

Les différentes formes de remplacement de variables


Expression			Interprétation

$var		Remplacée par la valeur de la variable "$var" si elle est
		définie. Sinon par rien.

${var}		Remplacée par la valeur de la variable "$var" si elle est
		définie. Sinon par rien. Cette forme est recommandée, afin de se
		prémunir de certaines incohérences en cas de concaténations de
		chaînes de caractères.

${var:-défaut}	Remplacée par la valeur de la variable "$var" si elle est
		définie. Sinon par la valeur "défaut".

${var:+défaut}	Initialisée la variable "$var" avec la valeur "défaut" si elle
		est définie. Dans le cas contraire (non définie) la laisser
		vide.

${var:?"Message"}	Remplacée par la valeur de la variable "$var" si elle
			est définie. Dans le cas contraire, le shell affiche un
			message d'erreur défini en lieu et place de "Message".
			Très utile pour détecter les variables indéfinies et
			dans ce cas, interrompre le script en cours. Penser à
			quoter "Message" s'il contient des caractères spéciaux.

${var:=défaut}	Remplacée par la valeur de la variable "$var" si elle est
		définie. Sinon créer et initialiser la variable "$var" avec la
		valeur "défaut".