IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Variable tableau en bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Points : 42
    Points
    42
    Par défaut Variable tableau en bash
    Bonjour à tous,

    Depuis une semaine , je me casse la tête avec un problème de syntaxe en bash que je n'arrive pas à résoudre. Je souhaite utiliser des valeurs d'un tableau associatif dans un boucle sans succès.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    #je déclare mon tableau associatif 
    declare -A  montableaua=(['champa']='valeura' ['champb']='valeurb')
    declare -A  montableaub=(['champba']='valeurba' ['champbb']='valeurbb')
     
     
    #et là je bloque je souhaite que le contenenu de chaque tableau passe dans ma variable table
     
    for tab in "$montableaua $montableaub"
    do
          echo ${tab['champa']} # je voudrai afficher la valeur de ${montableaua['champa']}
          echo ${tab['champb']} # je voudrai afficher la valeur de ${montableaub['champb']}
          echo ${tab['champba']} # je voudrai afficher la valeur de ${montableaub['champba']}
          echo ${tab['champbb']} # je voudrai afficher la valeur de ${montableaub['champbb']}
     
    #mon but final est d'appeller un fonction en lui fournissant ces paramètres.
     
    done
    Je vous remercie
    Je suis preneur de tout conseils.

  2. #2
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    Tu ne peux pas concaténer comme ça 2 tableaux en bash...

    Par contre, si tu veux passer dans chaque tableau, tu peux le faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    declare -n tab
    for tab in montableaua montableaub
    do
      test "${tab['champa']}" && echo ${tab['champa']}
      test "${tab['champb']}" && echo ${tab['champb']}
      test "${tab['champba']}" && echo ${tab['champba']}
      test "${tab['champbb']}" && echo ${tab['champbb']}
    done
    Les test sont juste là pour vérifier que la clé existe et attention, si tu modifies une valeur en passant par tab, tu modifies le tableau d'origine en cours.
    Cordialement.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Points : 42
    Points
    42
    Par défaut
    bonjour

    un grand merci pour ta réponse précise et ton aide.
    Ca répond totalement à ma problématique.

    Je te souhaite une bonne fin de journée

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    je suis très sceptique quant à la démarche originale.

    pourquoi utiliser une boucle ? sur les deux tableaux ?
    a priori, les indices potentiels des tableaux sont connus !
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Programme de variables tableau
    Par Wilvart dans le forum C++
    Réponses: 3
    Dernier message: 24/04/2006, 21h30
  2. [Tableaux] récuperer une variable tableau passé par URL
    Par molesqualeux dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2005, 01h12
  3. variables tableau dans requettes mysql ... et affichage
    Par mulbek dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/10/2005, 16h29
  4. Problème d'initialisation variable tableau
    Par HeZiX dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2005, 16h30
  5. Acces à une variable-tableau de PHP
    Par Erwan21 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/02/2005, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo