[Unix] Variable et quote
Deeper
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
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
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
-
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... -
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 -
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. -
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 ? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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.