[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: