236 votes

Vérifier si la variable bash est égale à 0

J'ai une variable bash depth et je voudrais tester si elle est égale à 0. Si oui, je veux arrêter l'exécution du script. Jusqu'à présent, j'ai :

zero=0;

if [ $depth -eq $zero ]; then
    echo "false";
    exit;
fi

Malheureusement, cela conduit à :

 [: -eq: unary operator expected

(peut être un peu imprécis en raison de la traduction)

S'il vous plaît, comment puis-je modifier mon script pour que cela fonctionne ?

3voto

Vous pouvez essayer ceci :

: ${depth?"Error Message"} ## when your depth variable is not even declared or is unset.

NOTE : Ici, c'est juste ? après depth .

o

: ${depth:?"Error Message"} ## when your depth variable is declared but is null like: "depth=". 

NOTE : Ici, c'est :? après depth .

Ici, si la variable depth est trouvé null il imprimera le message d'erreur et se terminera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X