Re: [bash] expansion de variable avec double quote
[...]
Là comme ça, je serais tenté de complètement contourner le problème :
dans le shell :
export CFLAGS="-g3 -O0"
oui mais le pb est que le "script.sh" bidouille lui-même le CFLAGS.
Donc mon CFLAGS déclaré en externe (via export) sera détruit entre temps
Heu... si script.sh bidouille le CFLAGS, je ne suis pas sûr que le
passer comme tu veux le faire marche mieux, si ?
dans le cript, il y a
...
CFLAGS=
./configure ${MY_ARGS}
...
donc le CFLAGS défini via MY_ARGS est protégé (il "passe par dessus" en
quelque sorte)
ensuite tu peux lancer ton script avec dans la variable MY_ARGS :
MY_ARGS="--enable-truc ./script.sh"
je suppose que tu voulais dire
MY_ARGS="--enable-truc" ./script.sh
Là je suis un peu paumé, si tu mets des "" juste autour d'un argument,
ne pas en mettre du tout ferait la même chose, non ?
si mais ce n'est pas ce que tu avais écrit, c'est pour cela que je
posais la question
[...]
Je veux bien parler de ça mais il me semble que c'est géré au niveau
du shell :
rg@merlin:~$ echo -n test
testrg@merlin:~$ echo -- -n test
-- -n test
rg@merlin:~$
effectivement en relisant le 'man bash', l'option '--' est géré
directement par bash, je ne l'avais pas compris
ceci dit j'ai essayé (sans trop comprendre)
MY_ARGS='--enable-truc -- CFLAGS=-g3 -O0' ./script.sh
et
MY_ARGS='--enable-truc -- "CFLAGS=-g3 -O0"' ./script.sh
sans succès, bash considère -O0 toujours que c'est un paramètre indépendant
Ceci dit, je ne penses toujours pas que ça soit la solution. La
proposition de Romaric DEFAUX de mettre des \" me semble beaucoup plus
intéressante.
elle ne fonctionne malheureusement pas
Reply to: