Passer une variable comme argument

Résolu
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

  1. salut,

    var5="$var3 $var4"
    ./monscript1 -l "$var5" "$var1" "$var2"
    mets des guillemets !
    2
    1. Contributeur
      Salut,

      VAR1="param1"
      VAR2="param2"
      VAR3="L10"
      VAR4="L11"
      
      VAR5="\"$VAR3 $VAR4\""
      
      echo $VAR5

      -1
      1. $ 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
      2. Contributeur
        Je suis d'accord, mais pour son exemple :
        ./monscript1 -l $VAR5 $VAR1 $VAR2
        ça passe bien ;-))
        0
      3. :( 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
      4. Contributeur
        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
      5. 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