Bonjour à tous,
je cherche à écrire en shell :
si toto nonégal à 0 ou à 23 ou à 24 alors
ecrire bonjour
sinon
ecrire erreur
fsi
j'ai essayé ca
if [ "$toto" -ne "0" -o "$toto" -ne "23" -o "$toto" -ne "24" ]; then
echo bonjour
else
echo erreur
fi
mais ca ne marche pas et je n'arrive pas a trouver une syntaxe correcte...
pourriez vous m'aider s'ilvouplait
merci ;)
# rep
Posté par DtekT . Évalué à 0.
if [ "$toto" -ne "0"] || [ "$toto" -ne "23" ] || [ "$toto" -ne "24" ]; then
# Probleme de logique
Posté par errno . Évalué à 6.
toto ne peut avoir qu'une valeur, s'il est égal a 0 par exemple, il ne peut pas etre égal à 23.
Tu veux surement faire :
if [ "$toto" -ne "0" -a "$toto" -ne "23" -a "$toto" -ne "24" ]; then
...
fi
Ce qui revient à dire Si toto différent de 0, 23 et 24
[^] # Une autre solution
Posté par totof2000 . Évalué à 5.
case $1 in
0|23|24) echo "$1" ;;
*) echo "Pas la bonne valeur" ;;
esac
$ sh test.sh 24
24
$ sh test.sh 12345
Pas la bonne valeur
$ sh test.sh 23
23
[^] # Re: Probleme de logique
Posté par DtekT . Évalué à 1.
MERCI 1000X
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.