Comment vérifier la variable est définie ou vide en bash

Comment vérifier la variable est définie ou vide en bash
Une variable peut être définie ou non définie. Lorsqu'une variable n'est pas déclarée ou déclarée mais aucune valeur n'est attribuée, la variable n'est pas définie ou non définie. Lorsqu'une variable est déclarée et attribuée avec une valeur, la variable est définie. Plusieurs fois, il faut savoir que la variable particulière est définie ou non à des fins de programmation. L'un des objectifs importants de la vérification de la variable est ou non est la validation des données. Bash n'a pas de fonction intégrée comme d'autres langages de programmation standard pour vérifier qu'une variable est définie ou non. Mais Bash a une fonctionnalité pour faire cette tâche. Comment vous pouvez vérifier que la variable est définie ou non dans Bash est indiqué dans ce tutoriel.

Syntaxe:

[[-v variable]] ou [[-z variable]]]

L'option '-v' ou '-z' est utilisée pour vérifier que la variable est définie ou non. L'expression booléenne ci-dessus reviendra vrai si la variable est définie et renvoie FAUX si la variable n'est pas définie ou vide.

$ variable + chaîne

Le substitut des paramètres est une autre façon de vérifier que la variable est définie ou non. Si la variable est définie, la valeur de la chaîne renvoie autrement nul.

Exemple-1: Vérifier la variable est définie ou non set à l'aide de l'option '-z'

Créer un fichier bash nommé check_var1.shot avec le script suivant. Ici, le premier 'si' La condition reviendra vrai et «La variable num n'est pas définie»Imprimera. Dans l'instruction suivante, 20 est affecté à la variable, $ Num. La deuxième condition «si» renvoie False et «Num est défini et la valeur de num = 20»Imprimera.

check_var1.shot

#!/ bac / bash
#Check La variable est définie ou non
si [-z $ num]; alors
Echo "'num' La variable n'est pas définie"
autre
Echo "'num' La variable est définie"
Fi
#Assign une valeur
Num = 20
#Check La variable est définie ou non après avoir attribué la valeur
si [-z $ num]; alors
Echo "'num' La variable n'est pas définie"
autre
Echo "'num est défini et la valeur de num = $ num"
Fi

Exécutez le script.

$ bash checkvar1.shot

Exemple-2: Vérifier que la variable est définie ou non set en utilisant le substitut des paramètres

Créer un fichier bash nommé "check_var2.shot»Et ajoutez le script suivant. Ici, une valeur de chaîne est attribuée à la variable, $ str avant de vérifier la variable est définie ou non. La condition «si» reviendra vrai et le message, «La variable 'str' est définie et la valeur est bonjour»Imprimera.

check_var2.shot

#!/ bac / bash
#St la variable
str = ”bonjour»
#Assign la valeur «monde» à CheckVal si la variable STR est définie
checkVal = $ str + ”world”
#Check La variable est définie ou non définie
Si [$ CheckVal -eq «monde»]; alors
Echo "'Str' La variable est définie et la valeur est $ str"
autre
Echo "'Str' La variable n'est pas définie"
Fi

Exécutez le script.

$ bash checkvar2.shot

Exemple-3: Vérifier que la variable est vide ou non

Créer un fichier bash nommé "check_var3.shot»Et ajoutez le script suivant. Le script stockera le premier argument de ligne de commande dans une variable, $ argv qui est testé dans la déclaration suivante. La sortie sera «Le premier argument est vide«Si aucun argument n'est passé sinon la valeur du premier argument sera imprimé.

check_var3.shot

#!/ bac / sh
#Read la première valeur d'argument de ligne de commande
argv = "1 $"
#Check La première valeur d'argument est fournie ou non
[-v "$ argv"] && echo "Le premier argument est vide" ||
écho "La valeur du premier argument est $ argv"

Exécutez le script sans aucun argument.

$ bash checkvar3.shot

Exécutez le script avec un argument.

$ bash checkvar3.test de shot

Conclusion

Différentes façons de vérifier la variable sont définies ou non set ou vides sont affichés dans ce tutoriel en utilisant divers exemples. Hope, ce tutoriel aidera les utilisateurs à apprendre les façons de tester n'importe quelle variable bash.