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 ...




--
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

Répondre à