Validation d'une valeur saisie.
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:
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 :D)
Code:
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:
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 :king: