[bash] expansion de variable avec double quote
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 -- 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
Re: [bash] expansion de variable avec double quote
hd 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" ensuite tu peux lancer ton script avec dans la variable MY_ARGS : MY_ARGS="--enable-truc ./script.sh" 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. Régis. -- 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
Re: [bash] expansion de variable avec double quote
Régis Grison a écrit : hd 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" 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 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 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 ? Régis. merci -- 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
Re: [bash] expansion de variable avec double quote
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 -- 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
Re: [bash] expansion de variable avec double quote
hd a écrit : Régis Grison a écrit : hd 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" 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 ? 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 ? 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 ? Je veux bien parler de ça mais il me semble que c'est géré au niveau du shell : r...@merlin:~$ echo -n test tes...@merlin:~$ echo -- -n test -- -n test r...@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. -- 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
Re: [bash] expansion de variable avec double quote
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
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 : r...@merlin:~$ echo -n test tes...@merlin:~$ echo -- -n test -- -n test r...@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 -- 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
Re: [bash] expansion de variable avec double quote
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
Re: [bash] expansion de variable avec double quote
Pourriez vous m'indiquer la bonne syntaxe pour que bash fasse ... ce que je voudrais qu'il fasse et MY_ARGS="--enable-truc CFLAGS=\"-g3 -O0\"" ./script.sh ça le fait ? -- Guy -- 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
Re: [bash] expansion de variable avec double quote
Guy Roussin a écrit : Pourriez vous m'indiquer la bonne syntaxe pour que bash fasse ... ce que je voudrais qu'il fasse et MY_ARGS="--enable-truc CFLAGS=\"-g3 -O0\"" ./script.sh ça le fait ? ben non, bash me transforme cela en ./configure --enable-truc 'CFLAGS="-g3' '-O0"' -- 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
Re: [bash] expansion de variable avec double quote
Romaric DEFAUX a écrit : [...] 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... ce script permet normalement de lancer les outils autotools puis le "configure" avec des options prédéfinis (path pour les bins, libs ...) il utilise une variable MY_ARGS qui permet de surcharger les options de 'l'extérieur' du script sans avoir à le modifier dans mon cas, je veux compiler en debug et donc ajouter les options '--enable-debug CFLAGS="-g3 -O0"' si je suis obliger de modifier le script pour cela, la variable MY_VARS ne sert plus à rien ... voici un raccourci du script $ cat script.sh #!/bin/sh mylog() { echo "$...@}" "$...@}" return $? } myconf() { # ... # differentes chose comme autoreconf ... # ... mylog "./configure" "$...@}" ${MY_ARGS} # ... } myconf --sbindir=/usr/sbin et voici une trace : $ MY_ARGS='--enable-debug CFLAGS="-g3 -O0"' bash -xv script.sh #!/bin/sh mylog() { echo "$...@}" "$...@}" return $? } myconf() { # ... # différentes chose comme autoreconf ... # ... mylog "./configure" "$...@}" ${MY_ARGS} # ... } myconf --sbindir=/usr/sbin + myconf --sbindir=/usr/sbin + mylog ./configure --sbindir=/usr/sbin --enable-debug 'CFLAGS="-g3' '-O0"' + echo ./configure --sbindir=/usr/sbin --enable-debug 'CFLAGS="-g3' '-O0"' ./configure --sbindir=/usr/sbin --enable-debug CFLAGS="-g3 -O0" + ./configure --sbindir=/usr/sbin --enable-debug 'CFLAGS="-g3' '-O0"' configure: error: unrecognized option: -O0" Visiblement, l'espace entre -g3 et -O0 pose problème Je vais me replonger dans la doc de bash ... -- 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
Re: [bash] expansion de variable avec double quote
hd a écrit, mardi 6 janvier 2009, à 14:51 : > [...] Bonjour, > $ MY_ARGS='--enable-debug CFLAGS="-g3 -O0"' bash -xv script.sh > #!/bin/sh Plutôt « sh -xv », non ? Ton problème tient sans doute à l'ordre suivant lequel le shell effectue ses évaluations --- tu pourrais demander sur news:fr.comp.os.unix... Pour contourner le problème, essaie sh -vx <(sed -e '/\${MY_ARGS}/ s//--enable-truc CFLAGS="-g3 -O0"/g' script.sh) ? -- Jacques L'helgoualc'h -- 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
Re: [bash] expansion de variable avec double quote
hd a écrit : Guy Roussin a écrit : Pourriez vous m'indiquer la bonne syntaxe pour que bash fasse ... ce que je voudrais qu'il fasse et MY_ARGS="--enable-truc CFLAGS=\"-g3 -O0\"" ./script.sh ça le fait ? ben non, bash me transforme cela en ./configure --enable-truc 'CFLAGS="-g3' '-O0"' Salut Et si tu mets la valeur de MY_ARGS dans un fichier puis: ./configure $(cat le_fichier) Pat -- 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
Re: [bash] expansion de variable avec double quote
The Tuesday 06 January 2009 09:57:41 hd, you wrote : > 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 En fait les ' sont retirer par le shell au moment de l'évaluation de la ligne. Au final il mettra dans MY_ARGS : --enable-truc CFLAGS="-g3 -O0" ./script.sh Ensuite quand tu appelles configure avec $MY_ARGS la variable est remplacée par sa signification (Cf ligne du dessus) et le découpage est fait suivant les espaces sauf pour les variables qui étaient entre quites. Cf man bash : Expansion is performed on the command line after it has been split into words. There are seven kinds of expansion performed: brace expansion, tilde expansion, parameter and variable expansion, command substitution, arithmetic expansion, word splitting, and pathname expansion. Puis plus loin : The shell scans the results of parameter expansion, command substitution, and arithmetic expansion that did not occur within double quotes for word splitting. Autrement dit les quotes ne sont interprétés que dans la ligne de commande, pas dans les variables. Toute quote dans une variable est considérée comme un caractère (c'est comme si la quote avait été échappée par le shell). Si tu veux obtenir le résultat espéré tu vas devoir faire un eval : val [arg ...] The args are read and concatenated together into a single command. This command is then read and executed by the shell, and its exit status is returned as the value of eval. If there are no args, or only null arguments, eval returns 0. Ce qui dans ton cas donne : MY_ARGS='--enable-truc CFLAGS="-g3 -O0"' ./script.sh puis eval ./configure ${MY_ARGS} > > 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 Cordialement, Thomas Preud'homme -- Why debian : http://www.debian.org/intro/why_debian signature.asc Description: This is a digitally signed message part.
Re: [bash] expansion de variable avec double quote
[...] Si tu veux obtenir le résultat espéré tu vas devoir faire un eval : val [arg ...] The args are read and concatenated together into a single command. This command is then read and executed by the shell, and its exit status is returned as the value of eval. If there are no args, or only null arguments, eval returns 0. Ce qui dans ton cas donne : MY_ARGS='--enable-truc CFLAGS="-g3 -O0"' ./script.sh puis eval ./configure ${MY_ARGS} merci pour toutes ces explications. mais comme rien n'est simple, le script.sh en question ne dépend pas de moi (fait par un tiers), je ne peux donc pas le modifier directement. avec toutes les réponses à ce fil, j'en déduis qu'il n'y a pas de solution en ne jouant que sur la définition de la variable. donc je vais demander des modif ... dans script.sh merci pour tout -- 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
Re: [bash] expansion de variable avec double quote
The Wednesday 07 January 2009 17:18:56 hd, you wrote : > [...] > > > Si tu veux obtenir le résultat espéré tu vas devoir faire un eval : > > > > val [arg ...] > > The args are read and concatenated together into a single > > command. This command is then read and executed by the shell, and its > > exit status is returned as the value of eval. If there are no args, > > or only null arguments, eval returns 0. > > > > Ce qui dans ton cas donne : > > > > MY_ARGS='--enable-truc CFLAGS="-g3 -O0"' ./script.sh > > > > puis > > > > eval ./configure ${MY_ARGS} > > merci pour toutes ces explications. > mais comme rien n'est simple, le script.sh en question ne dépend pas de > moi (fait par un tiers), je ne peux donc pas le modifier directement. > avec toutes les réponses à ce fil, j'en déduis qu'il n'y a pas de > solution en ne jouant que sur la définition de la variable. > donc je vais demander des modif ... dans script.sh > > merci pour tout Pas besoin. Regarde ma solution, je n'ai pas parlé de modifier script.sh Juste tu dois écrire eval ./configure ${MY_ARGS} au lieu de ./configure ${MY_ARGS} Cordialement, Thomas Pred'homme -- Why debian : http://www.debian.org/intro/why_debian signature.asc Description: This is a digitally signed message part.
Re: [bash] expansion de variable avec double quote
2009/1/7 Thomas Preud'homme : > Pas besoin. Regarde ma solution, je n'ai pas parlé de modifier script.sh > > Juste tu dois écrire eval ./configure ${MY_ARGS} au lieu de ./configure > ${MY_ARGS} Sauf que ./configure ${MY_ARGS} est dans le script... -- Arnaud -- 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
Re: [bash] expansion de variable avec double quote
The Wednesday 07 January 2009 21:29:16 Arnaud Delobelle, you wrote : > 2009/1/7 Thomas Preud'homme : > > Pas besoin. Regarde ma solution, je n'ai pas parlé de modifier script.sh > > > > Juste tu dois écrire eval ./configure ${MY_ARGS} au lieu de ./configure > > ${MY_ARGS} > > Sauf que ./configure ${MY_ARGS} est dans le script... > > -- > Arnaud Ah oui en effet. Je vois pas comment faire d'autres alors. Cordialement, Thomas Preud'homme -- Why debian : http://www.debian.org/intro/why_debian signature.asc Description: This is a digitally signed message part.
Re: [bash] expansion de variable avec double quote
Le 14251ième jour après Epoch, Thomas Preud'homme écrivait: > The Wednesday 07 January 2009 21:29:16 Arnaud Delobelle, you wrote : >> 2009/1/7 Thomas Preud'homme : >> > Pas besoin. Regarde ma solution, je n'ai pas parlé de modifier script.sh >> > >> > Juste tu dois écrire eval ./configure ${MY_ARGS} au lieu de ./configure >> > ${MY_ARGS} >> >> Sauf que ./configure ${MY_ARGS} est dans le script... >> >> -- >> Arnaud > > > Ah oui en effet. Je vois pas comment faire d'autres alors. Dans ce cas, et si seule la commande "configure" est sujette à MY_ARGS, il faut: 1) renommer le configure en configure.real 2) créer un script "configure" qui fait un "eval ./configure.real $@" 3) lancer MY_ARGS='--whatever CFLAGS="-gX -oY"' ./script.sh ça devrait le faire, mais j'ai pas testé pgpcLzX2PBr04.pgp Description: PGP signature