[Unix] Variable et quote

Deeper -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Tout d'abord, merci à Jipicy pour toutes ses réponses.

J'ai un autre soucis : j'exécute un script avec un paramètre
monscrpt.sh parametre1

Dans mon script, je récupère le paramètre1, et crée la chaine suivante
monparam="/monchemin/$1.txt"

Lorsque je fais un echo de $monparam dans le scrip shell, j'obtiens /monchemin/'parametre1'.txt
Comment éviter ces quotes ?

Merci d'avance
Configuration: Windows XP Internet Explorer 6.0

5 réponses

  1. kryoportail Messages postés 230 Statut Membre 125
     
    Salut,

    Béh c'est super bizarre ton truc j'ai créé un script :

    #!/bin/sh
    monparam="/etc/mypath/$1.txt"
    echo "$monparam"


    Et qd je fais : ./test.sh my/path/foo
    ca me renvoie : /etc/mypath/my/path/foo.txt (donc sans quotes....!)

    Quel est le bach que tu utilises pour l'exécution !??? SH !??

    Amicalement,
    S@M...
    0
  2. Deeper
     
    Ben chez moi, rien à faire, lorsque j'execute ce script à partir du shell, j'obtiens bien le bon résultat, mais le scrip lancé à partir d'un programme externe (qui permet d'exécuter des instructions unix) ca merdoie...
    J'ai 'monfic'.txt lorsque je fais un echo $mavar
    0
  3. loupius
     
    Et ben voilà, tu as la réponse: ce n'est pas le script qui est en cause mais le programme externe.
    Dans ton script, fais un simple echo $1 et observe le résultat.
    0
  4. Deeper
     
    Merci,

    Mais le programme ne fait qu'executer le script.
    Par contre, il me rajoute ces %*@@!! de quotes !!
    Lorsque je fait un echo $1 >toto.txt j'ai 'monparam'

    C'est peut être une question d'environnement, non ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    fait un "echo $SHELL" dans ton script.
    Il est possible que ton programme traite les paramètres qui lui sont passé d'une certaine manière avant de les mettre en paramètre au script.
    0