Bonjour tout le monde,

Alors voilà je travail sur un script shell et je dois tester une variable contenant un caractère et si celui ne remplie pas les attentes escompté on redemande à l'utilisateur de le re-remplir (un classique quoi).

Voici le script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
read -p "Indiquer ce que voulez faire, affichez les (s)tatistiques d'une carte ou paramétrer (i)Ptable : " action
while [ $action != "i"  ] || [ $action != "s"  ]
do
	echo "Valeur de retour incorrect !!!"
	read -p "Indiquer ce que voulez faire, affichez les (s)tatistiques d'une carte ou paramétrer (i)Ptable : " action
done

Mais j'ai quelque soucis en effet malgré que la variable prend bien les paramètres rentré le test considère que celui-ci ne remplie jamais les conditions.

PS : J'ai déjà essayé différente syntaxe (qui fonctionne pas)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
while [ "$action" != "i"  ] || [ "$action" != "s"  ]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
while [[ "$action" != "i"  ]] || [[ "$action" != "s"  ]]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
while [[ if ( "$action" != "i")  ]] || [[ if ( "$action" != "s" )  ]]
Alors oui le dernier je suis allée très loin pour le chercher ^^


D'avance merci pour vos réponses ou même vos conseil car il est possible que ma syntaxe ne soit pas forcément optimiser.