Le remplacement de variables en shell Bash

baissaoui Messages postés 497 Date d'inscription jeudi 2 septembre 2021 Statut Webmaster Dernière intervention 22 mars 2024 - 21 juin 2022 à 13:01
Document initial créé par Jipicy


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".