Passer une variable comme argument

Résolu/Fermé
moreje2lyon Messages postés 21 Date d'inscription lundi 28 janvier 2013 Statut Membre Dernière intervention 26 mars 2015 - 14 févr. 2013 à 15:25
 Utilisateur anonyme - 15 févr. 2013 à 10:20
Bonjour,

Je suis en train de faire un script bash qui en appelle un autre et j'ai un problème pour passer un argument:

syntaxe d'appel du script1:

monscript1 -l "L10 L11" param1 param2

le script2:
VAR1="param1"
VAR2="param2
VAR3="L10"
VAR4="L11"

VAR5=$(echo '"'"$VAR3 " $VAR4'"')

echo VAR5
./monscript1 -l $VAR5 $VAR1 $VAR2



si je lance le script2, ça plante car il se trompe pour l' argument du script1:
"L10

alors que je veux qu'il prenne
L10 L11


je sais pas si c'est clair...mais avez vous une idée?
Merci

2 réponses

Utilisateur anonyme
14 févr. 2013 à 15:33
salut,

var5="$var3 $var4"
./monscript1 -l "$var5" "$var1" "$var2"
mets des guillemets !
2
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 425
14 févr. 2013 à 15:33
Salut,

VAR1="param1"
VAR2="param2"
VAR3="L10"
VAR4="L11"

VAR5="\"$VAR3 $VAR4\""

echo $VAR5

-1
Utilisateur anonyme
14 févr. 2013 à 18:39
$ VAR1="param1"
$ VAR2="param2"
$ VAR3="L10"
$ VAR4="L11"
$ 
$ VAR5="\"$VAR3 $VAR4\""
$
$ _f () { for i do echo "$i"; done;}
$ _f $VAR5
"L10
L11"
$ VAR5="$VAR3 $VAR4"
$ _f "$VAR5"
$ L10 L11
Toujours entre guillemets, les variables, tu mettras.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 425
14 févr. 2013 à 18:44
Je suis d'accord, mais pour son exemple :
./monscript1 -l $VAR5 $VAR1 $VAR2
ça passe bien ;-))
0
Utilisateur anonyme
15 févr. 2013 à 04:00
:( Je ne suis pas convaincu:

$ _f () { local OPTIND; while getopts l: opt; do echo "$OPTARG"; done;}
$ var="\"bla bla\""
$ _f -l $var
"bla

mais qui sait...
Ça a été mis en résolu sans commentaire, et on ne sait pas comment moreje2lyon parse les arguments du script.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 425
15 févr. 2013 à 09:37
Et tu as bien raison ;-\

Je présente donc mes humbles excuses pour cette grossière faute ;-(

Honte à moi pour un laps de temps encore indéterminé mais assez conséquent ma foi ;-\
0
moreje2lyon Messages postés 21 Date d'inscription lundi 28 janvier 2013 Statut Membre Dernière intervention 26 mars 2015
15 févr. 2013 à 10:07
alors pour l'instant ça marche bien, avec les guillemets!
mais j'ai pas réussi à voir sur quoi vous n'étiez pas d'accord ;)
0