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
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- 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 :)