Pages : 1
#1 Le 26/05/2008, à 12:41
- Renmazuo
[RÉSOLU]créer un shell script avec arguments
Bonjour, y a-t-il moyen de créer un shell script (de type #!/bin/sh) en spécifiant des arguments ?
Voilà ce que j'aimerais faire : j'utilise l'application "MPEG4 Modifier CL" qui se lance avec Mono. Ce programme permet d'effectuer quelques modifications sur un fichier vidéo MPEG4. Concrètement, voilà comment je m'en sers dans la console :
mono mmcl.exe --info --unpack /chemin_source/video_originale.avi /chemin_destination/video_modifiee.avi
J'ai déjà essayé de faire un script (qu'on nommera "mmcl") comme ceci :
#!/bin/sh
mono /chemin/mmcl.exe --info --unpack
Bien entendu je fais un chmod +x après.
Mais si je fais mmcl /chemin_source/video_originale.avi /chemin_destination/video_modifiee.avi, il semble lancer le programme sans les arguments ("mmcl.exe" tout seul quoi).
Donc voilà y a-t-il moyen de faire un script qui marche ?
Dernière modification par Renmazuo (Le 06/06/2009, à 20:51)
Hors ligne
#2 Le 26/05/2008, à 12:56
- Immae
Re : [RÉSOLU]créer un shell script avec arguments
Bonjour,
Les arguments des scripts sont enregistrés dans les variables $0, $1, ...
(où les arguments sont séparés par des espaces)
$0 correspond au nom de la commande, ensuite la suite est assez claire
Bon courage!
Edit : je précise un peu
si testscript.sh contient par exemple :
#!/bin/sh
echo $1
echo $2
echo $0
et qu'on l'appelle avec ./testscript.sh, on obtiendra deux lignes blanches puis "testscript.sh"
si on l'apelle avec ./testscript.sh arg1 arg2 arg3 on obtiendra
arg1
arg2
testscript.sh
Etc.
Dernière modification par Immae (Le 26/05/2008, à 12:58)
Hors ligne
#3 Le 26/05/2008, à 13:30
- Renmazuo
Re : [RÉSOLU]créer un shell script avec arguments
Hum merci mais je pense que je me suis mal fait comprendre (ou alors c'est moi qui n'ai rien compris à ton message). En fait le problème c'est que je veux un script qui lance "mono mmcl.exe --info --unpack" et que mon script lance "mono mmcl.exe". Je le sais grâce au message qui m'est renvoyé quand je lance mon script pourri.
Hors ligne
#4 Le 26/05/2008, à 13:32
- wblitz
Re : [RÉSOLU]créer un shell script avec arguments
#!/bin/bash
mono /chemin/absolu/mmcl.exe --info --unpack
exit $?
et si ça te met un message d'erreur, poste-le
Dernière modification par wblitz (Le 26/05/2008, à 13:35)
"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs
Hors ligne
#5 Le 26/05/2008, à 13:41
- Renmazuo
Re : [RÉSOLU]créer un shell script avec arguments
#!/bin/bash mono /chemin/absolu/mmcl.exe --info --unpack exit $?
et si ça te met un message d'erreur, poste-le
J'ai essayé mais le résultat est le même que pour mon premier script, à savoir : ça ne lance que mmcl.exe sans options, ce qui entraine en fait l'affichage du --help.
Hors ligne
#6 Le 26/05/2008, à 13:57
- wblitz
Re : [RÉSOLU]créer un shell script avec arguments
et si tu essaies avec les guillemets ?
#!/bin/bash
mono "/chemin/absolu/mmcl.exe --info --unpack"
exit $?
"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs
Hors ligne
#7 Le 26/05/2008, à 14:01
- Renmazuo
Re : [RÉSOLU]créer un shell script avec arguments
J'ai un message de Mono "Cannot open assembly". Apparemment il essaye d'ouvrir un fichier qui s'appellerait "mmcl.exe --info --unpack" au lieu de considérer --info et --unpack comme des options.
Hors ligne
#8 Le 26/05/2008, à 14:36
- wblitz
Re : [RÉSOLU]créer un shell script avec arguments
et avec juste les arguments entre quote :
#!/bin/bash
mono /chemin/absolu/mmcl.exe "--info --unpack"
exit $?
(vu ici : http://www.mono-project.com/Guide:Running_Mono_Applications)
"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs
Hors ligne
#9 Le 26/05/2008, à 14:57
- Renmazuo
Re : [RÉSOLU]créer un shell script avec arguments
Non plus
Hors ligne
#10 Le 26/05/2008, à 15:15
- wblitz
Re : [RÉSOLU]créer un shell script avec arguments
là, à part regarder s'il y a quelque chose à ce sujet dans le man, je ne vois pas quoi faire de plus
"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs
Hors ligne
#11 Le 26/05/2008, à 15:22
- Renmazuo
Re : [RÉSOLU]créer un shell script avec arguments
Ok pas grave, de toute façon c'est juste pour gagner du temps donc si je dois me casser la tête pendant des heures pour faire un script qui marche ça vaut pas la peine.
Merci quand même pour votre aide Immae et wblitz.
Hors ligne
#12 Le 26/05/2008, à 16:53
- Immae
Re : [RÉSOLU]créer un shell script avec arguments
Effectivement j'avais mal compris ta question. Par contre ma réponse est toujours valable :
Il suffit de remplacer
#!/bin/sh
mono /chemin/mmcl.exe --info --unpack
Par
#!/bin/sh
mono /chemin/mmcl.exe --info --unpack $1 $2
Hors ligne
#13 Le 26/05/2008, à 17:56
- Renmazuo
Re : [RÉSOLU]créer un shell script avec arguments
Nope, j'avais déjà essayé ça aussi et ça fait pareil (les options ne sont pas prises en compte) ^^
Hors ligne
#14 Le 06/06/2009, à 20:50
- Renmazuo
Re : [RÉSOLU]créer un shell script avec arguments
Un an plus tard, j'ai trouvé la solution par hasard. En fait, c'est à cause des espaces dans les noms des fichiers que ça n'allait pas (ex : "pr0n gay hard anal.avi"). Il suffisait ainsi de mettre les arguments entre guillemets pour que les noms des fichiers soient pris en compte dans leur entièreté en incluant les espaces.
#!/bin/sh
mono /chemin/mmcl.exe --info --unpack "$1" "$2"
Hors ligne
#15 Le 10/06/2013, à 08:09
- Cyriaque
Re : [RÉSOLU]créer un shell script avec arguments
Et quatre ans plus tard ça sert toujours ...
Hors ligne
Pages : 1