(→Renvoyer une valeur de substitution lorsque la variable n'existe pas) |
(→Renvoyer une valeur de substitution lorsque la variable n'existe pas) |
||
| Ligne 191 : | Ligne 191 : | ||
==Renvoyer une valeur de substitution lorsque la variable n'existe pas== | ==Renvoyer une valeur de substitution lorsque la variable n'existe pas== | ||
| - | si VAR est défini (avec une valeur ou avec | + | si VAR est défini (avec une valeur ou avec nul), on retourne sa valeur, y compris nul, sinon, si VAR est indéfini, on retourne défaut, sans changer ni la valeur, ni l’état de VAR. |
<pre> | <pre> | ||
unset VAR # on supprime VAR si elle existe | unset VAR # on supprime VAR si elle existe | ||
| Ligne 200 : | Ligne 200 : | ||
</pre> | </pre> | ||
| - | Si l'on souhaite que la valeur retournée soit non | + | Si l'on souhaite que la valeur retournée soit non nul, on peut utiliser la syntaxe : <b>${VAR:-defaut}</b>. |
Par exemple : | Par exemple : | ||
<pre> | <pre> | ||
| - | declare VAR # VAR existe, mais est | + | declare VAR # VAR existe, mais est nul |
echo ${VAR-valeur_par_defaut} | echo ${VAR-valeur_par_defaut} | ||
</pre> | </pre> | ||
| Ligne 218 : | Ligne 218 : | ||
| - | |||
| - | + | Pour substituer une valeur (ici une chaîne: defaut) a une variable indéfinie:<br> | |
| + | <pre> | ||
| + | ${VAR-defaut} | ||
| + | </pre> | ||
| + | <br> | ||
| + | Pour substituer une valeur (ici une chaîne: defaut) a une variable indéfinie ou nul: <br> | ||
| + | <pre> | ||
| + | ${VAR:-defaut} | ||
| + | </pre> | ||
| + | <br> | ||
| + | Cette syntaxe ne défini pas ou ne modifie pas la valeur de VAR. | ||
| - | + | ==Définir une variable uniquement si elle est indéfinie== | |
| - | echo ${VAR=valeur_par_defaut} | + | définir VAR si elle n'est pas définie :<br> |
| + | <pre> | ||
| + | unset VAR # VAR n'est pas défini | ||
| + | echo ${VAR=valeur_par_defaut} | ||
| + | </pre> | ||
| + | <pre> | ||
| + | valeur_par_defaut | ||
| + | </pre> | ||
| + | <br> | ||
| + | |||
| + | ==Définir une variable uniquement si elle est indéfinie ou nul== | ||
| + | <pre> | ||
echo ${VAR:=valeur_par_defaut} # VAR prend la valeur | echo ${VAR:=valeur_par_defaut} # VAR prend la valeur | ||
# valeur_par_defaut | # valeur_par_defaut | ||