J'aimerais écrire en une ligne ceci:
if [$SERVICESTATEID$ -eq 2]; then echo "CRITICAL"; else echo "OK"; fi
Donc, pour faire un test dans mon Shell, j'ai fait:
if [2 -eq 3]; then echo "CRITICAL"; else echo "OK"; fi
Le résultat est
-bash: [2: command not found
OK
Donc ça ne marche pas.
Space - la dernière frontière. Cela marche:
if [ $SERVICESTATEID -eq 2 ]; then echo "CRITICAL"; else echo "OK"; fi
Notez les espaces après [
et avant ]
- [
est un nom de commande! Et j'ai enlevé un $
supplémentaire à la fin de $SERVICESTATEID
.
Une alternative consiste à épeler test
. Alors vous n’avez pas besoin du ]
final, ce que je préfère:
if test $SERVICESTATEID -eq 2; then echo "CRITICAL"; else echo "OK"; fi
Écrivez comme ceci, de l'espace est requis avant et après [
et ]
dans le shell
if [ 2 -eq 3 ]; then echo "CRITICAL"; else echo "OK"; fi