(→chercher et remplacer la première sous-chaîne de variable) |
|||
| Ligne 189 : | Ligne 189 : | ||
</pre> | </pre> | ||
| + | ==Renvoyer une valeur de substitution lorsque la variable n'existe pas== | ||
| - | + | si VAR existe (nulle ou pas), on retourne sa valeur, sinon, on retourne la valeur defaut, sans changer la valeur de VAR. | |
| - | + | <pre> | |
| - | + | unset VAR # on supprime VAR si elle existe | |
| + | echo ${VAR-defaut} | ||
| + | </pre> | ||
| + | <pre> | ||
| + | defaut | ||
| + | </pre> | ||
Si on veut que la valeur retournée soit non nulle, on peut utiliser la syntaxe : ${VAR:-defaut}. | Si on veut que la valeur retournée soit non nulle, on peut utiliser la syntaxe : ${VAR:-defaut}. | ||
| Ligne 200 : | Ligne 206 : | ||
declare VAR # VAR existe, mais est nulle | declare VAR # VAR existe, mais est nulle | ||
echo ${VAR-valeur_par_defaut} # rien | echo ${VAR-valeur_par_defaut} # rien | ||
| + | echo ${VAR:-valeur_par_defaut} # valeur_par_defaut | ||
echo ${VAR:-valeur_par_defaut} # valeur_par_defaut | echo ${VAR:-valeur_par_defaut} # valeur_par_defaut | ||
| - | |||
| - | |||
| - | |||
Donc, si null est une valeur possible pour une variable, il convient d'utiliser la syntaxe ${VAR-defaut} qui respectera la valeur nulle. Sinon, il est plus sage d'utiliser ${VAR:-defaut}. | Donc, si null est une valeur possible pour une variable, il convient d'utiliser la syntaxe ${VAR-defaut} qui respectera la valeur nulle. Sinon, il est plus sage d'utiliser ${VAR:-defaut}. | ||