[Unix] Variable et quote

Fermé
Deeper - 5 juin 2009 à 11:54
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 5 juin 2009 à 16:43
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

5 réponses

kryoportail Messages postés 222 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 22 mai 2014 125
5 juin 2009 à 12:16
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
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
5 juin 2009 à 16:43
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