Probleme Variable
Résolu
Edwingb
-
Edwingb -
Edwingb -
Bonjour,
Voici mon script "afficher":
#!/bin/ksh
i=1
while [[ $i -lt 2 ]]; do
echo "entrez un nom : "
read nom$i
echo $(nom$i)
((i++))
done
Ensuite dans mon invite de commande :
#chmod 755 afficher
#PATH=$PATH:.
#afficher
entrez un nom :
edwing
./afficher: ligne 6: nom1: non trouvé
entrez un nom :
edwingenerve
./afficher: ligne 6: nom2: non trouvé
Alors que si je met "echo $nom1" a la place de "echo $(nom$i)" cela m'affiche bien "edwing"
Je ne comprend pas !!!
Je vous remercie d'avance pour votre aide
Voici mon script "afficher":
#!/bin/ksh
i=1
while [[ $i -lt 2 ]]; do
echo "entrez un nom : "
read nom$i
echo $(nom$i)
((i++))
done
Ensuite dans mon invite de commande :
#chmod 755 afficher
#PATH=$PATH:.
#afficher
entrez un nom :
edwing
./afficher: ligne 6: nom1: non trouvé
entrez un nom :
edwingenerve
./afficher: ligne 6: nom2: non trouvé
Alors que si je met "echo $nom1" a la place de "echo $(nom$i)" cela m'affiche bien "edwing"
Je ne comprend pas !!!
Je vous remercie d'avance pour votre aide
A voir également:
- Probleme Variable
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Variable objet ou bloc "with" non définie - Forum VB / VBA
4 réponses
$ cat brol.ksh
#! /bin/ksh93
i=1
while ((i < 3)) ; do
echo "Entrer un nom : "
read nom
array[${i}]=${nom}
((i++))
done
n=1
for i in ${array[@]}
do
echo "Élément $n = $i"
((n++))
done
$ ./brol.ksh
Entrer un nom :
toto
Entrer un nom :
titi
Élément 1 = toto
Élément 2 = titi
$
Heu c'est le $i dans le nom de la variable qui est bizarre
read nom$i OK
par contre echo $(nom$i) est mauvais
ce que tu mets entre $() est une commande
et pourquoi un double [[ ]] pour le while ?
read nom$i OK
par contre echo $(nom$i) est mauvais
ce que tu mets entre $() est une commande
et pourquoi un double [[ ]] pour le while ?
Un grand merci a toi zipe31, ta solution fonctionne très bien :)
Merci aussi a qqchquicommenceparQ et a gnugo pour votre aide :)