#1 Le 08/12/2010, à 11:20
- gilsub
Script : passer en paramètre un nom avec espaces
Bonjour!
Je ne sais pas si c'est possible, mais j'aimerais passer un paramètre correspondant dans mon script à un nom de fichier, et qui donc comporte des espaces. Ex : "./Monscript param1 mon deuxième paramètre" où 'mon deuxième paramètre' est un seul paramètre. J'ai essayé avec les \, ex : "./Monscript param1 mon\ deuxième\ paramètre" mais cela ne fonctionne pas....merci d'avance !
Hors ligne
#2 Le 08/12/2010, à 12:02
- yohann
Re : Script : passer en paramètre un nom avec espaces
tu peux essayer les quotes:
./Monscript param1 "Mon deuxième paramètre"
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#3 Le 08/12/2010, à 12:30
- gilsub
Re : Script : passer en paramètre un nom avec espaces
Salut et merci de ta réponse.
Malheureusement ça ne marche pas. J'utilise ffmpeg et le script doit récupérer le nom de la vidéo actuelle + le nom du fichier de sortie.
Hors ligne
#4 Le 08/12/2010, à 13:14
- Totor
Re : Script : passer en paramètre un nom avec espaces
Salut et merci de ta réponse.
Malheureusement ça ne marche pas. J'utilise ffmpeg et le script doit récupérer le nom de la vidéo actuelle + le nom du fichier de sortie.
ça doit forcément marcher..
Si ce n'est pas le cas, c'est que cela vient de ton script où je mettrais ma main à couper que tu ne protèges pas tes variables...
c.a.d
actuellement, tu as quelque chose comme ça :
ffmpeg -i $1 <options> $2
alors que tu devrais mettre ffmpeg -i "$1" <options> "$2"
-- Lucid Lynx --
Hors ligne
#5 Le 08/12/2010, à 18:01
- serged
Re : Script : passer en paramètre un nom avec espaces
Alternativement, tu peux utiliser des anti-slash devant les espaces :
./Monscript param1 Mon\ deuxième\ paramètre
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#6 Le 08/12/2010, à 18:22
- gilsub
Re : Script : passer en paramètre un nom avec espaces
Merci totor c'était effectivement ça !J'avais $2.avi au lieu de "$2.avi" ... J'ai testé avec les "", les '' et les \ et tout fonctionne aussi
Hors ligne
#7 Le 08/12/2010, à 18:46
- Totor
Re : Script : passer en paramètre un nom avec espaces
Alternativement, tu peux utiliser des anti-slash devant les espaces :
./Monscript param1 Mon\ deuxième\ paramètre
ça ne changera rien si il n'y a pas de protection des variables dans le script
-- Lucid Lynx --
Hors ligne