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

How Check Variable Is Set



Une variable peut être définie ou non définie. Lorsqu'une variable n'est pas déclarée ou déclarée mais qu'aucune valeur n'est affectée, la variable n'est pas définie ou indéfinie. Lorsqu'une variable est déclarée et affectée d'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 que la variable est définie ou non est la validation des données. Bash n'a pas de fonction intégrée comme les 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 montré dans ce didacticiel.

Syntaxe:







[[ -vvariable]]Ou[[ -Avecvariable]]

L'option '-v' ou '-z' est utilisée pour vérifier que la variable est définie ou désactivée. L'expression booléenne ci-dessus renverra true si la variable est définie et renvoie false si la variable n'est pas définie ou vide.



${variable+chaîne}

Le remplacement de paramètre est un autre moyen de vérifier que la variable est définie ou désactivée. Si la variable est définie, la valeur de la chaîne sera renvoyée, sinon null sera renvoyé.



Exemple-1 : Vérifiez que la variable est définie ou désactivée à l'aide de l'option « -z »

Créez un fichier bash nommé check_var1.sh avec le script suivant. Ici, le premier ` si` la condition retournera vrai et La variable num n'est pas définie s'imprimera. Dans l'instruction suivante, 20 est affecté à la variable, $num . La deuxième condition « if » retournera faux et Num est défini et la valeur de Num=20 s'imprimera.





check_var1.sh

#!/bin/bash
#Vérifiez que la variable est définie ou non
si [ -Avec ${Nombre} ];alors
chassèrent ''Num' variable n'est pas définie'
autre
chassèrent ''Num' variable est définie'
être
#Attribuer une valeur
sur une=vingt
#Vérifiez que la variable est définie ou non après avoir affecté la valeur
si [ -Avec ${Nombre} ];alors
chassèrent ''Num' variable n'est pas définie'
autre
chassèrent ''Num est défini et la valeur de Num=$num'
être

Exécutez le script.



$frappercheckvar1.sh

Exemple 2 : Vérifiez que la variable est définie ou désactivée à l'aide d'un substitut de paramètre

Créez un fichier bash nommé check_var2.sh et ajoutez le script suivant. Ici, une valeur de chaîne est affectée à la variable, $str avant de vérifier que la variable est définie ou désactivée. La condition 'if' retournera vrai et le message, La variable 'str' est définie et la valeur est Hello s'imprimera.

check_var2.sh

#!/bin/bash
#Définir la variable
p=Bonjour
#Attribuez la valeur World à checkval si la variable str est définie
vérification=${str+Monde}
#Vérifiez que la variable est définie ou désactivée
si [ $checkval -eqMonde];alors
chassèrent La variable ''str' est définie et la valeur est$ chaîne'
autre
chassèrent La variable ''str' n'est pas définie'
être

Exécutez le script.

$frappercheckvar2.sh

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

Créez un fichier bash nommé check_var3.sh et ajoutez le script suivant. Le script stockera le premier argument de la 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 affichée.

check_var3.sh

#!/bin/sh
#Lire la première valeur de l'argument de la ligne de commande
argv='$1'
#Vérifiez que la valeur du premier argument est fournie ou non
[ -v '$argv' ] && chassèrent « Le premier argument est vide » ||
chassèrent 'La valeur du premier argument est$argv'

Exécutez le script sans aucun argument.

$frappercheckvar3.sh

Exécutez le script avec un argument.

$frappercheckvar3.shtest

Conclusion

Différentes manières de vérifier que la variable est définie, désactivée ou vide sont présentées dans ce didacticiel à l'aide de divers exemples. J'espère que ce tutoriel aidera les utilisateurs à apprendre les moyens de tester n'importe quelle variable bash.