Déclarer et mettre une variable dans une boucle for

Résolu
xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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

    0
    1. Utilisateur anonyme
       
      salut,

      avec bash, seq est inutile, utilisez l'évaluation arithmétique.
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      exemple ?
      0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
    
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      ;-))
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      le forum devrait introduire des délais aléatoires pour pénaliser ceux qui tapent trop vite
      0
  3. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    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.
    0