hd a écrit :
Heu... si script.sh bidouille le CFLAGS, je ne suis pas sûr que le passer comme tu veux le faire marche mieux, si ?Régis Grison a écrit :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 tempshd a écrit :Bonjour, Je rencontre un problème avec l'expansion des variables sous bash [...] et je le lance avec la commande : MY_ARGS='--enable-truc CFLAGS="-g3 -O0"' ./script.sh je m'attends à ce qu'il soit interprété comme : ./configure --enable-truc CFLAGS="-g3 -O0" mais bash le transforme en : ./configure --enable-truc 'CFLAGS="-g3' '-O0"' [...]Là comme ça, je serais tenté de complètement contourner le problème : dans le shell : export CFLAGS="-g3 -O0"
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 ?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
Je veux bien parler de ça mais il me semble que c'est géré au niveau du shell :Sinon, un truc auquel on ne pense pas toujours c'est l'argument -- qui permet de séparer les arguments d'un appli des arguments de l'appli passée en paramètres. Mais je pense que la solution est au dessus.il me semble avoir déjà vu ça avec 'startx' startx 'client param' -- 'server param' mais dans ce cas, c'est 'startx' qui gère le '--' (qui le parse) le '--' n'a pas de signification particulière pour bash à ma connaissance est ce de cela dont tu veux parler ou évoques tu autre chose ?
rg@merlin:~$ echo -n test testrg@merlin:~$ echo -- -n test -- -n test rg@merlin:~$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.
Régis.