=5bbash=5d r=c3=a8gle d'expansion dynamique =3f

Le
pehache
Bonjour,

dans un script bash j'aurais besoin d'appliquer une règle d'expansion
définie dynamiquement dans le script, un truc dans le genre (la syntaxe
ne fonctionne pas, mais c'est pour fixer les idées) :

rule="//aa/bb"
echo ${parameter${rule}}

Est-ce possible de le faire ? Je tourne ça dans tous les sens mais je
tourne surtout en rond J'ai essayé avec les indirections (${!})
sans arriver à rien non plus.


--
"sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #26508860
pehache , dans le message
dans un script bash j'aurais besoin d'appliquer une règle d'expansion
définie dynamiquement dans le script, un truc dans le genre (la syntaxe
ne fonctionne pas, mais c'est pour fixer les idées) :
rule="//aa/bb"
echo ${parameter${rule}}
Est-ce possible de le faire ? Je tourne ça dans tous les sens mais je
tourne surtout en rond... J'ai essayé avec les indirections (${!...})
sans arriver à rien non plus.

Tu as toujours la solution à base d'eval. Moche, mais on peut tout
faire.
Nicolas George
Le #26508886
pehache , dans le message
eval newvar='${var'${rule}'}'

Ça marche, mais je trouve que ceci pourrait être plus lisible :
eval "newvar=${var$rule}"
pehache
Le #26508926
Le 08/02/2019 à 11:55, Nicolas George a écrit :
pehache , dans le message
eval newvar='${var'${rule}'}'

Ça marche, mais je trouve que ceci pourrait être plus lisible :
eval "newvar=${var$rule}"


Oui. Les doubles quotes ici ne sont pas utiles apparemment ?
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Nicolas George
Le #26508945
pehache , dans le message
Oui. Les doubles quotes ici ne sont pas utiles apparemment ?

Effectivement, mais à titre personnel je préfère.
Publicité
Poster une réponse
Anonyme