Bonjour tout le monde.

J'ai un petit soucis dans un script, dans lequel je fais saisir une valeur.

En gros, je recherche un fichier suivant un schéma et si j'en ai plusieurs, j'affiche la liste des fichiers :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
0) fichier0
1) fichier1
2) fichier2
faites votre choix[defaut:2]
Le problème viens que si on fait Entrée directement sans saisir de valeur, j'obtiens un null!.

En gros, voila mon code (plus simple )

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
      echo "# Attention, il y a plus d'un fichier M696M00.xxxxxxxx.ibm" >> $Rep_Log$Fic_Log
      echo "Plusieurs fichiers M696M00.xxxxxxxx.ibm sont disponibles"
      j=0
      for i in $(ls -tr $Rep_Trv | grep "M696M00.[A-L][0-9]\{7\}.ibm")
      do
        echo "$(ls -l | awk '{print $9", date du "$7" "$6", a "$8}'| grep $i) > $(cat $Rep_Trvx$i)" >> $Rep_Log$Fic_Log
        # Affichage de la liste des fichiers, avec leur date de modification et le contenu
        Tab_Fic[$j]=$i
        echo "$j) $(ls -l | awk '{print $9", date du "$7" "$6", a "$8}'| grep $i) > $(cat $Rep_Trvx$i)"
        j=$(($j+1))
      done
      j=$(($j-1))
      echo "Merci de rentrer votre choix [defaut:$j]"
      choix=$j
      read choix
      if [ $choix -ge 0 ] && [ $choix -le $j ]
      then
        echo "valide"
        j=$choix
      fi
Si je rentre pas de valeur j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Plusieurs fichiers M696M00.xxxxxxxx.ibm sont disponibles
0) M696M00.B0000000.ibm, date du 19 Feb, a 15:26 > 21
1) M696M00.B0000001.ibm, date du 25 Feb, a 12:34 > 23
Merci de rentrer votre choix [defaut:1]
 
./Manuel.sh[36]: test: argument expected
Fic_NbT=M696M00.B0000001.ibm
J'ai bien le fichier pris par défaut mais j'ai une erreur.

Si vous avez des idées