hd a écrit :
Romaric DEFAUX a écrit :
hd a écrit :
Bonjour,
Je rencontre un problème avec l'expansion des variables sous bash
J'utilise un script (que je ne peux modifier car il fait partie d'un
package tiers) qui lance un ./configure en lui passant des
paramamètres additionnels via une variable MY_ARGS
le script est quelque chose comme :
#!/bin/sh
....
./configure ${MY_ARGS}
...
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"'
ce qui fait 3 paramètres pour "./configure" au lieu de 2
et évidemment ./configure sort en erreur en indiquant qu'il ne
comprend pas le paramètre -O0
Pourriez vous m'indiquer la bonne syntaxe pour que bash fasse ... ce
que je voudrais qu'il fasse
merci
Bonjour,
As-tu déjà essayé de protégé les double quote par \ ?
MY_ARGS='--enable-truc CFLAGS=\"-g3 -O0\"' ./script.sh
ben oui ... et dans ce cas il le protège tellement que le '\' est
aussi passé en param
MY_ARGS='--enable-truc CFLAGS=\"-g3 -O0\"' ./script.sh
se transforme en
./configure --enable-truc 'CFLAGS=\"-g3' '-O0\"'
donc ce n'est pas bon ...
J'ai l'impression que c'est l'espace entre -g3 et -00 qui pose problème.
Il considèrerait que MY_ARGS contient une suite d'arguments séparés par
des espaces. Et si tu protèges l'espace ça fait quoi ?
Tu pourrais nous montrer les parties de script.sh qui traite MY_ARGS et
CFLAGS ? Il y a peut-être un bug...
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org