Bonjour,
imaginez un array qui stocke les valeurs saisies d'un utilisateur sur l'entrée standard. J'attends de l'utilisateur un choix parmi 4 valeurs distinctes. Cet array ne doit donc stocker au maximum que 4 valeurs.
Mais je dois pouvoir tester les erreurs suivantes :
- il ne renseigne rien. Dans ce cas j'utilise
Cette première partie fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 RET_cube=${#cube[*]} if [ $RET_cube == 0 ]; then echo "!!!!!! Veuillez selectionner au moins un cube !!!!!!!\n" exit;
- C'est sur le test suivant qu'il plante. Imaginons qu'il renseigne une ou plusieurs valeurs mais qui ne sont pas celles que j'attends. Et c'est la que je ne sais pas faire. Je pensais que
ou (c'est la seule ligne 9 qui change entre les 2 versions)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #Test : l'utilisateur n'a rien renseigné RET_cube=${#cube[*]} if [ $RET_cube == 0 ]; then echo "!!!!!! Veuillez selectionner au moins un cube !!!!!!!\n" exit; else # Test : l'utilisateur a répondu correctement ? for i in ${cube[@]}; do if ([ ${cube[@]} == F || E || M || Q ]); then verif="OK" echo "le resultat est : $verif" else verif="KO" echo "le resultat est : $verif" fi done fi
allait fonctionner mais non.... Je me prends des erreur dans la tronche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #Test : l'utilisateur n'a rien renseigné RET_cube=${#cube[*]} if [ $RET_cube == 0 ]; then echo "!!!!!! Veuillez selectionner au moins un cube !!!!!!!\n" exit; else # Test : l'utilisateur a répondu correctement ? for i in ${cube[@]}; do if ([ ${cube[@]} == F ] || [ ${cube[@]} == E ] || [ ${cube[@]} == M ] || [ ${cube[@]} == Q ]); then verif="OK" echo "le resultat est : $verif" else verif="KO" echo "le resultat est : $verif" fi done fi
Donc connaissez vous un equivalent au "IN" du SQL par exemple qui me permettrait de tester mon array sur ce point et en fonction du resultat lancerait une autre suite de commandes dans la même boucle ?
Partager