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 :

Appeler une variable dans une autre


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 53
    Par défaut Appeler une variable dans une autre
    Bonjour,

    Voici ce que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSTANCE_NUMBER=`grep ^HOSTS_DB ${INT_DIR}/DataIntegration.prm | grep ${HOSTNAME} | cut -c14`
    Cette commande est censée me renvoyer une lettre

    ensuite j'ai une autre variable qui devrai finir par la lettre récupérée dans ma variable INSTANCE_NUMBER.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA_SID=${DB_SID_${INSTANCE_NUMBER}}
    Si par exemple INSTANCE_NUMBER=A la variable ORA_SID est censée être comme ça ORA_SID=${DB_SID_A}

    J'ai un problème de syntaxe avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA_SID=${DB_SID_${INSTANCE_NUMBER}}

    Merci de votre aide

  2. #2
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 53
    Par défaut
    J'ai trouvé la solution "ou plutôt mon collègue" :-)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA_SID=$(eval echo \$$(echo DB_SID_${INSTANCE_NUMBER}))

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 663
    Par défaut vade retro eval
    eval, c'est mal !
    Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ instNb=A
    $ dbSid_A=foo
    $ oraSid=dbSid_$instNb
    $ echo ${!oraSid}
    foo
    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. Réponses: 6
    Dernier message: 16/06/2011, 12h45
  2. utilisation d'une variable d'une class dans une autre class
    Par the watcher dans le forum Langage
    Réponses: 7
    Dernier message: 31/08/2010, 14h01
  3. Appel de variables d'une fonction dans une autre fonction
    Par black cat747 dans le forum Interfaces Graphiques
    Réponses: 13
    Dernier message: 11/05/2010, 15h34
  4. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  5. Réponses: 1
    Dernier message: 15/02/2007, 00h24

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