• # eval ?

    Posté par . En réponse au message Variables dans un shell script (sh). Évalué à 4.

    Ça serait pas "eval" que tu cherches ?

    % cat /tmp/eval.sh
    #!/bin/sh
    plop_1="plip"
    plop_2="plup"
    for i in 1 2 ; do eval echo \"\$plop_$i\" ; done

    % /tmp/eval.sh
    plip
    plup


    En gros, ça ajoute une passe d'évaluation à ta commande, donc avec i=1, \$plop_$i devient $plop_1 et \"\$plop_$i\" devient "$plop_1".

    Reste à voir si c'est du Bourne de base ou du Bash, je ne me souviens plus...