Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Extensions pour gérer les variables vides

Plusieurs extensions de paramètres sont destinées à traiter des variables inexistantes et vides. Ces extensions sont pratiques pour gérer les paramètres de position manquants et attribuer des valeurs par défaut aux paramètres.

${paramètre:-mot}

If paramètre n'est pas défini (c'est-à-dire n'existe pas) ou est vide, cette expansion entraîne la valeur de mot. Si paramètre n'est pas vide, le développement donne la valeur de paramètre.



[moi@linuxbox ~]$ truc=

[moi@linuxbox ~]$ echo ${foo:-"valeur de substitution si non défini"}

valeur de remplacement si non défini [me@linuxbox ~]$ écho $foo


[moi@linuxbox ~]$ toto=bar

[moi@linuxbox ~]$ echo ${foo:-"valeur de substitution si non défini"}

barre

[moi@linuxbox ~]$ écho $foo

barre

[moi@linuxbox ~]$ truc=

[moi@linuxbox ~]$ echo ${foo:-"valeur de substitution si non défini"}

valeur de remplacement si non défini [me@linuxbox ~]$ écho $foo


[moi@linuxbox ~]$ toto=bar

[moi@linuxbox ~]$ echo ${foo:-"valeur de substitution si non défini"}

barre

[moi@linuxbox ~]$ écho $foo

barre


${paramètre:=mot}

If paramètre n'est pas défini ou vide, cette expansion entraîne la valeur de mot. De plus, la valeur de mot est affecté à paramètre. Si paramètre n'est pas vide, l'expansion donne la valeur de paramètre.


[moi@linuxbox ~]$ truc=

[moi@linuxbox ~]$ echo ${foo:="valeur par défaut si non défini"}

valeur par défaut si non défini [me@linuxbox ~]$ écho $foo valeur par défaut si non défini [me@linuxbox ~]$ toto=bar

[moi@linuxbox ~]$ echo ${foo:="valeur par défaut si non défini"}

barre

[moi@linuxbox ~]$ écho $foo

barre

[moi@linuxbox ~]$ truc=

[moi@linuxbox ~]$ echo ${foo:="valeur par défaut si non défini"}

valeur par défaut si non défini [me@linuxbox ~]$ écho $foo valeur par défaut si non défini [me@linuxbox ~]$ toto=bar

[moi@linuxbox ~]$ echo ${foo:="valeur par défaut si non défini"}

barre

[moi@linuxbox ~]$ écho $foo

barre


image

Remarque : les paramètres de position et autres paramètres spéciaux ne peuvent pas être affectés de cette manière.


image


${paramètre:?mot}

If paramètre n'est pas défini ou vide, cette extension provoque la fermeture du script avec une erreur et le contenu de mot sont envoyés à l'erreur standard. Si paramètre n'est pas vide, le développement donne la valeur de paramètre.



[moi@linuxbox ~]$ truc=

[moi@linuxbox ~]$ echo ${foo:?"le paramètre est vide"}

bash : foo : le paramètre est vide [me@linuxbox ~]$ écho $?

1

[moi@linuxbox ~]$ toto=bar

[moi@linuxbox ~]$ echo ${foo:?"le paramètre est vide"}

barre

[moi@linuxbox ~]$ écho $?

0

[moi@linuxbox ~]$ truc=

[moi@linuxbox ~]$ echo ${foo:?"le paramètre est vide"}

bash : foo : le paramètre est vide [me@linuxbox ~]$ écho $?

1

[moi@linuxbox ~]$ toto=bar

[moi@linuxbox ~]$ echo ${foo:?"le paramètre est vide"}

barre

[moi@linuxbox ~]$ écho $?

0


${paramètre:+mot}

If paramètre n'est pas défini ou vide, l'expansion n'aboutit à rien. Si paramètre n'est pas vide, la valeur de mot est substitué à paramètre; cependant, la valeur de paramètre n'est pas modifié.



[moi@linuxbox ~]$ truc=

[moi@linuxbox ~]$ echo ${foo:+"valeur de substitution si définie"}


[moi@linuxbox ~]$ toto=bar

[moi@linuxbox ~]$ echo ${foo:+"valeur de substitution si définie"}

[moi@linuxbox ~]$ truc=

[moi@linuxbox ~]$ echo ${foo:+"valeur de substitution si définie"}


[moi@linuxbox ~]$ toto=bar

[moi@linuxbox ~]$ echo ${foo:+"valeur de substitution si définie"}


valeur de remplacement si définie

valeur de remplacement si définie


Meilleur système d'exploitation Cloud Computing chez OnWorks :