Déclarer et mettre une variable dans une boucle for [Résolu/Fermé]

Signaler
Messages postés
708
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
15 mai 2020
-
Messages postés
18191
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 août 2020
-
Bonjour,

J'ai fait ce script, mais je n'arrive pas à faire certaines choses.
A la ligne 2, je n'arrive a mettre la variable $nombre_partition ?
A la ligne 4, je n'arrive pas a déclarer la variable taille_partition_$i ?

code
1 read -p "Veuillez indiquer le nombre de partition : " nombre_partition      
2 for i in {1..$nombre_partition};       
3 do       
4 read -p "Veuillez indiquer la taille de la partition $i : " taille_partition_$i ;      
5 echo "Verification la taille de la partition numéro $i est de : " $taille_partition_$i     
5 done


Résultat
laurent@PC-ubuntu:~$ bash /home/laurent/bash/Partitionnement-automatique-dun-disque-dur-installation-serveur.sh  
Veuillez indiquer le nombre de partition : 8  
Veuillez indiquer la taille de la partition {1..8} : 526  
/home/laurent/bash/Partitionnement-automatique-dun-disque-dur-installation-serveur.sh: ligne 4 : read: « taille_partition_{1..8} » : identifiant non valable  
Verification la taille de la partition numéro {1..8} est de :  {1..8}  
laurent@PC-ubuntu:~$   
    



Merci.

3 réponses

Messages postés
35368
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
13 août 2020
5 333
Salut,

for i in {1..$nombre_partition}
Ne marche pas, essaie avec :
for i in $(seq ${nombre_partition}) 

Pour la suite utilises un tableau :
do 
read -p "Veuillez indiquer la taille de la partition ${i} : " taille_partition_[${i}] ;
echo "Verification la taille de la partition numéro ${i} est de :  ${taille_partition_[${i}]}"
done

Utilisateur anonyme
salut,

avec bash, seq est inutile, utilisez l'évaluation arithmétique.
Messages postés
18191
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 août 2020
4 945
exemple ?
Messages postés
18191
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 août 2020
4 945
hello
la variables ne fonctionnent pas dans {..} utiliser seq
utiliser un tableau plutot qu'indexer le nom
read -p "Veuillez indiquer le nombre de partition : " nombre_partition
for i in $(seq 1 $nombre_partition)
do  
read -p "Veuillez indiquer la taille de la partition $i : " taille_partition[$i]
echo "Verification la taille de la partition numéro $i est de : " ${taille_partition[$i]}
done
Messages postés
35368
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
13 août 2020
5 333
;-))
Messages postés
18191
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 août 2020
4 945
le forum devrait introduire des délais aléatoires pour pénaliser ceux qui tapent trop vite
Messages postés
708
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
15 mai 2020
9
Bonjour,

Merci pour vos conseils ça marche.

read -p "Veuillez indiquer le nombre de partition : " nombre_partition      
for i in $(seq 1 $nombre_partition)       
do  
read -p "Veuillez indiquer la taille de la partition $i : " taille_partition[$i]
echo "Verification la taille de la partition numéro $i est de : " ${taille_partition[$i]}
done
echo "Taille de la partition numéro 1 est de : " ${taille_partition[1]}
echo "Taille de la partition numéro 2 est de : " ${taille_partition[2]}
echo "Taille de la partition numéro 3 est de : " ${taille_partition[3]}


Merci.