bonjour,

voila mon probleme je souhaiterais introduire un while dans un case comme cela suit

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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.