Supposons que j'ai la variable "x" dans bash. Comment puis-je tester si c'est un nombre?Quels sont les moyens de faire des tests numériques dans bash?
J'ai essayé if x=5; then echo "it is 5"; fi
mais cela ne fonctionne pas,
alors j'ai essayé if x==5; then echo "it is 5"; fi
mais cela ne fonctionne pas non plus,
alors j'ai essayé if [x==5]; then echo "it is 5"; fi
mais cela ne fonctionne pas non plus,
alors j'ai essayé if [[x==5]]; then echo "it is 5"; fi
mais cela ne fonctionne pas non plus,
puis j'ai essayé if [[x=5]]; then echo "it is 5"; fi
mais cela ne fonctionne pas non plus,
alors j'ai essayé if [x=5]; then echo "it is 5"; fi
mais cela ne fonctionne pas non plus,
alors j'ai essayé if [x -eq 5]; then echo "it is 5"; fi
mais cela ne fonctionne pas non plus,
alors j'ai essayé if [[x -eq 5]]; then echo "it is 5"; fi
et il a finalement fonctionné.
Je suis perdu. Bash semble être l'enfer. Pourquoi tant de façons n'ont pas fonctionné? Et seulement le dernier a fait?
Impossible d'adopter la syntaxe if x==5; then ...; fi
?
Merci, Boda Cydo
In bash, cependant, '[' et 'test' sont des built-ins. La commande '/ usr/bin/test' est ** presque ** identique, mais il y a quelques différences. Par conséquent, consultez 'help [' et 'help test' plutôt que' man test'. – Bolo
Merci. Mais à quoi sert la citation? Pourquoi avez-vous cité «$ x»? – bodacydo
@bodacydo: Quoting '" $ x "' empêche une erreur de syntaxe si '$ x' est vide. – ggg