Une variable est souvent appelée une boîte contenant un nom et son contenu. Une commande simple, par exemple 'echo Hello $Var_Name' affichera 'Bonjour... la valeur de la variable telle que définie'. Bash n'imprimera rien si la boîte est vide ou non créée. C'est pourquoi il est important de s'assurer si une variable est définie correctement ou non lors de la création d'un script bash.
Les variables peuvent être classées en deux parties :
Les variables correctement créées ou initialisées sont appelées variables définies. Ceux-ci peuvent avoir une valeur nulle ou une chaîne vide.
Les variables qui ne sont jamais créées ou initialisées sont appelées variables non définies.
Pour confirmer si une variable est définie ou non dans Bash Scripting, nous pouvons utiliser -v var ou -z ${var} options sous forme d’expression avec la combinaison de la commande conditionnelle « if ».
Syntaxe
Voici les syntaxes d'expression booléenne qui peuvent être utilisées pour vérifier si la variable est définie :
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
L'expression booléenne renvoie « Vrai » si la variable est définie et « Faux » si la variable n'est pas définie.
cadre tkinter
Voici les exemples pour vérifier si une variable est définie ou non :
Utilisation de l'option -v
#!/bin/bash #Script to check whether a variable is set or not using -v option A=100 #A: variable is set. if [[ -v A ]]; then echo 'Variable having name 'A' is already set.' else echo 'Variable having name 'A' is not set.' fi #B: variable is not set if [[ -v B ]]; then echo 'Variable having name 'B' is already set.' else echo 'Variable having name 'B' is not set.' fi
Sortir
Ici, la variable « A » est définie et affectée d'une valeur de 100 et est donc considérée comme une « variable définie ». Pour la variable 'B', nous n'avons défini ni attribué aucune valeur. En conséquence, la variable « B » n'est pas considérée comme une « variable définie ».
Utilisation de l'option -z
#!/bin/bash #Script to check whether a variable is set or not using -z option A=100 #A: variable is set. if [[ -z ${A} ]]; then echo 'Variable having name 'A' is not set.' else echo 'Variable having name 'A' is already set.' fi #B: variable is not set if [[ -z ${B} ]]; then echo 'Variable having name 'B' is not set.' else echo 'Variable having name 'B' is already set.' fi
Sortir
Note:Il existe une différence entre une variable non définie et une variable avec une valeur nulle.
Consultez l'exemple suivant démontrant que la variable avec une valeur nulle peut être une variable définie.
Exemple
VAR='' #VAR is set if [ -z ${VAR+x} ]; then echo ''VAR' is unset'; else echo ''VAR' is set, its content is '$VAR''; fi #Var is not set if [ -z ${Var+x} ]; then echo ''Var' is unset'; else echo ''Var' is set, its content is '$Var''; fi
Sortir
Ce sont les méthodes couramment utilisées qui peuvent être utilisées pour vérifier si une variable est définie ou non.
entier comparé à Java