Evaluation variable & index

Résolu
Bonjour,

Je sollicite de l'aide car google n'a pas réussi à m'aider et je sature un peu en fait

Voici le problème:

msg_1=toto
msg_2=tata

function msg {
echo "msg_$1"
}

msg 1
exit

Je souhaite juste afficher le bon message, en saisissant echo ${msg_1} cela fonctionne mais je perds le coté utile de la fonction.

Quel est le bon format d'écriture pour accomplir ce que je recherche svp.

D'avance merci.
Configuration: Windows XP
Firefox 2.0.0.12

4 réponses

  1. Modérateur
    Salut,
    [jp@MDK-2008 trash]$ cat bar.sh
    #! /bin/bash
    
    msg_1=toto
    msg_2=tata
    
    function msg {
    eval  "msg=\"msg_$1\""
    eval echo \$$msg
    }
    
    msg $1
    exit
    
    [jp@MDK-2008 trash]$ ./bar.sh 1
    toto
    [jp@MDK-2008 trash]$ ./bar.sh 2
    tata
    [jp@MDK-2008 trash]$
    ;-))
    1. Re

      Deja merci car effectivement cela fonctionne, cependant j'ai un leger soucis.

      J'aurai besoin de stocker le résultat du dernier eval, est-ce possible ?

      merci
      1. un qui sait c'est toujours mieux qu'un qui cherche.

        merci bien j'ai cherché mais sans résultat et la, pouf ! :)