Forum Programmation.shell BASH: lire/affecter une variable concaténée

Posté par  .
Étiquettes : aucune
2
17
déc.
2008
Bonjour,

Je cherche à affecter une variable dont le nom est défini par 2 variable (en bash).

genre :
$A$B="$status"
(sauf que comme ca, ca marche pas :)

$A$B définissant une seule variable...

Comment faire ?

Ensuite c'est pareil, il faut la lire, en concaténant 2 variable, ca je crois que j'ai trouvé :
(corrigez moi si je me trompe)

getVar(){
eval echo \${$1}
}

Cname=$A$B
Cvaleur=`getVar $Cname`

Vous en pensez quoi ?
merci
  • # Tu y étais presque

    Posté par  . Évalué à 8.

    #!/bin/bash

    a=foo
    b=bar

    eval $a$b=Hello
    echo $foobar
    eval echo \$$a$b
  • # Ma pensée

    Posté par  . Évalué à 4.

    Je pense que c'est très moche. La solution donnée au dessus marche bien, mais je te déconseille d'utiliser ce genre de bidouilles dans la "vie réelle". Il y a surement moyen de faire autrement. (à moins que ce soit un exercice ?)
    • [^] # Re: Ma pensée

      Posté par  . Évalué à 3.

      mouais .... N'empêche que parfois c'est bien pratique lorsque tu es dans une boite rétrograde qui n'autorise pas Perl sur ses systèmes et que tu as besoin de faire des trucs un peu tordus que ne permet pas le Shell .... J'ai déjà du utiliser ce genre d'aértifice ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.