en bash introduire un while dans un case
bonjour,
voila mon probleme je souhaiterais introduire un while dans un case comme cela suit
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#!/bin/bash
PFile=`ls *.data`
ls *.data > f.txt
wc -w f.txt > wof
nf=`cut -c1 wof `
nf=`expr $nf + 1`
n=0
echo "$nf"
PS3="> que voulez vous faire : "
echo "-- fichier à afficher"
select choix in $PFile "quitter (q|Q)"; do
case $REPLY in
while [ "$n" -lt "$nf" ]
do
"$n") echo" j'ai selectionné "
n=`expr n + 1`
break;;
done
"$nf"|Q*|q*) echo "Au revoir"
exit;;
*) echo "Je n'ai pas compris votre commande. Veuillez repeter svp.";;
esac
done |
quand je fait
Code:
1 2 3 4 5 6
|
$./choix_graph.sh
5
-- fichier à afficher
./choix_graph.sh: line 16: syntax error near unexpected token `['
./choix_graph.sh: line 16: ` while [ "$n" -lt "$nf" ] ' |
je croix que pour la structure case il faut connaitre le nombre d'element mais je ne suis pas sur.
Quelle est la meilleur solution.