Script shell unix - Page 2
Résolu
Précédent
- 1
- 2
Attention !!! Dans le script ci-dessous, la syntaxe du test entre crochets doit être écrite sans l'espace entre les deux premiers crochets ouvrants. Ici j'y suis obligé à cause de la syntaxe employée par CCM pour l'emploi des doubles crochets ;-((
$ cat couleurs.txt # fichier externe contenant les couleurs et leur code
Couleur : verte Code : 1
Couleur : jaune Code : 2
Couleur : rouge Code : 3
$ cat foo.ksh # script en korn shell
#! /bin/ksh
clear
while :
do
echo "Choisissez une ou 2 valeur(s) maximum\nséparées par une virgule (ex : 1,2)\n"
cat -n couleurs.txt
echo
read choix
if [ [ "$choix" = "" ]]
then
echo "Vous devez choisir au moins une valeur... recommencez s'il vous plaît.\n"
continue
fi
IFS=,
set $(echo "$choix")
if (( "$#" > 2 ))
then
echo "Vous ne pouvez choisir que 2 valeurs maximum... recommencez s'il vous plaît.\n"
continue
fi
break
done
set -A tableau $(
for i in "$@"
do
awk -F" " 'NR=='"$i"' { printf "%s %d ",$3,$6 }' couleurs.txt
done)
echo "Paramètres du tableau = ${tableau[*]}"
$L'exécution :$ ./foo.ksh
Choisissez une ou 2 valeur(s) maximum
séparées par une virgule (ex : 1,2)
1 Couleur : verte Code : 1
2 Couleur : jaune Code : 2
3 Couleur : rouge Code : 3
<<<< # Aucune valeur n'est saisie
Vous devez choisir au moins une valeur... recommencez s'il vous plaît.
Choisissez une ou 2 valeur(s) maximum
séparées par une virgule (ex : 1,2)
1 Couleur : verte Code : 1
2 Couleur : jaune Code : 2
3 Couleur : rouge Code : 3
1,3,2
Vous ne pouvez choisir que 2 valeurs maximum... recommencez s'il vous plaît.
Choisissez une ou 2 valeur(s) maximum
séparées par une virgule (ex : 1,2)
1 Couleur : verte Code : 1
2 Couleur : jaune Code : 2
3 Couleur : rouge Code : 3
3,1
Paramètres du tableau = rouge 3 verte 1
$;-))
Précédent
- 1
- 2