Boucle la variable qui ne s'affiche pas correctement ?
Résolu
xunil2003
Messages postés
766
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je n'arrive pas a comprendre pourquoi la variable dans ma boucle for "$P$n" ne s'affiche pas correctement, uniquement le nombre s'affiche ??
Pourquoi ?
Comment puis je faire ?
Merci.
Je n'arrive pas a comprendre pourquoi la variable dans ma boucle for "$P$n" ne s'affiche pas correctement, uniquement le nombre s'affiche ??
Pourquoi ?
Comment puis je faire ?
Merci.
nombre=10 device=/dev/sda P0="$device" P1="/" P2="Swap" P3="/var" P4="/var/www" P5="/opt" P6="/tmp" P7="/usr" P8="/home" P9="/media/travvail" P10="/media/sauvegarde" echo "" echo " $device ($P0)" echo " |" for n in 'seq 1 $nombre'; do echo " +- $device$n ($P$n)" done
7 réponses
-
pourquoi ne pas utiliser un tableau ? ça serait plus simple dans ton cas
(sinon j'essais de retrouver comment on fait en shell) -
Salut,
Un seul mot "INDIRECTION" :
#!/bin/bash nombre=5 device=/dev/sda P0="$device" P1="/" P2="Swap" P3="/var" P4="/var/www" P5="/opt" P6="/tmp" P7="/usr" P8="/home" P9="/media/travvail" P10="/media/sauvegarde" echo "" echo " ${device} (${P0})" echo " |" for n in $(seq ${nombre}); do P="P${n}" echo " +- ${device}${n} ( ${!P})" done
-
J'ai trouvé.
Je te montre un exemple simple après t'as juste à adapter ;)
#!/bin/bash
var1="contenu_de_ma_variable"
un=1
echo $var1
eval echo \$var${un}
les deux dermières lignes affichant la même chose voilà ;) -
Bonsoir,
Zipe31 cher moi j'ai l'erreur suivante avec votre code modifier ci dessus :
/home/laurent/bash/Partitionnement-automatique-dun-disque-dur-installation-serveur.sh: 25: /home/laurent/bash/Partitionnement-automatique-dun-disque-dur-installation-serveur.sh: Bad substitution
La ligne 25 est :echo " +- ${device}${n} ( ${!P})"
Merci. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Konsole Terminal
laurent@PC-ubuntu:~$ konsole -v Qt : 4.8.1 Plate-forme de développement de KDE : 4.8.5 (4.8.5) Konsole : 2.8.5 laurent@PC-ubuntu:~$
Merci. -
En haut du script
#!/bin/bash
laurent@PC-ubuntu:~$ echo $0 /bin/bash laurent@PC-ubuntu:~$
Dois je changer ?
Merci. -
Au pardon c'est de ma faute, erreur de ma part.
Je le lancé comme ceci :
sh /mon_script.sh
au lien de :
bash /mon_script.sh
C'est bon ça marche ?
Désolé pour le dérangement.
Merci.