[BASH] Problèmes de paramètres

Problèmes de paramètres [BASH] - Linux et OS Alternatifs

Marsh Posté le 24-02-2002 à 17:55:24    

J'ai fait un script qui me lance mplayer sur la télé :  

Code :
  1. [kadreg@luggage]/home/kadreg$ cat /usr/local/bin/mplayertv                      nvtv -t -r 768,576 -s Large                             
  2. mplayer  -osdlevel 0 -fs -screenw 768 -screenh 576 $*
  3. nvtv -m -X
  4. [kadreg@luggage]/home/kadreg$


 
Il marche très bien lorsque je veux lire un dvd ouun fichier dont le nom ne contient pas d'espace, mais si j'essaye de lire un fichier avec des espaces dans le nom, ça marche plus.
 
J'ai bien essayé de mettre des guillemets autour de $1 à $9 dans le script, mais les paramètres passés ne sont plus correct, par exemple -dvd 1 n'est plus accepté comme paramètre.
 
Comment faire pour que ce script accepte enfin de passer partout ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 24-02-2002 à 17:55:24   

Reply

Marsh Posté le 25-02-2002 à 10:30:09    

Personne n'a d'idées ?
 
 [:totoz]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 25-02-2002 à 10:53:52    

Quand tu as un nom avec espaces tu doit mettre un '\' devant chq espace pour ne pas qu'il soit interprété.
 
ex: "nom de fichier à la con" -> nom\ de\ fichier\ à\ la\ con

Reply

Marsh Posté le 25-02-2002 à 11:36:18    

Hagakure a écrit a écrit :

Quand tu as un nom avec espaces tu doit mettre un '\' devant chq espace pour ne pas qu'il soit interprété.
 
ex: "nom de fichier à la con" -> nom\ de\ fichier\ à\ la\ con  




 
C'est ce que je fait lorsque j'appelle mon script, mais dans le script $1 (par exemple) contient la chaine sans les \, mais le passage se passe mal car à ce moment, j'ai plus les  \. Il existerait pas une commande pour ShellEscaper une chaine dans ce cas ?

 

[jfdsdjhfuetppo]--Message édité par kadreg--[/jfdsdjhfuetppo]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 25-02-2002 à 11:53:05    

Tu tape ton nom\ de\ fichier avec les '\' stp et dans le script tu met "$*" et ça roule :)

Reply

Marsh Posté le 25-02-2002 à 11:54:14    

mais tu ne passe que ton fichier en paramètre sinon ca couille tout !!

Reply

Marsh Posté le 25-02-2002 à 11:56:52    

Ou tu dit que $1 c le paramètre genre -dvd1 => tu traite comme d'hab...
Et le $2 c ton nom de fichier et là tu met "$2" et les '\'
La ça roulaise  :fuck:

Reply

Marsh Posté le 25-02-2002 à 12:01:07    

$* est a remplacer par "$@"

 

[jfdsdjhfuetppo]--Message édité par ArSuniK--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 25-02-2002 à 21:42:06    

ArSuniK a écrit a écrit :

$* est a remplacer par "$@"  




 
Rhhhhooooo, je connaissais pas celui-là. Merci, c'est du bonheur maintenant.
 

Code :
  1. [kadreg@luggage]/home/kadreg$ cat `which mplayertv`
  2. nvtv -t -r 768,576 -s Large
  3. mplayer  -osdlevel 0 -fs -screenw 768 -screenh 576 "$@"
  4. nvtv -m -X
  5. [kadreg@luggage]/home/kadreg$


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed