Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/12/2010, à 12: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, à 13: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, à 13: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, à 14:14

Totor

Re : Script : passer en paramètre un nom avec espaces

gilsub a écrit :

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, à 19: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, à 19: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 smile

Hors ligne

#7 Le 08/12/2010, à 19:46

Totor

Re : Script : passer en paramètre un nom avec espaces

serged a écrit :

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