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 26/05/2008, à 13: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, à 21:51)

Hors ligne

#2 Le 26/05/2008, à 13: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, à 13:58)

Hors ligne

#3 Le 26/05/2008, à 14: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, à 14: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, à 14: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, à 14:41

Renmazuo

Re : [RÉSOLU]créer un shell script avec arguments

wblitz a écrit :
#!/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, à 14: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, à 15: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, à 15: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, à 15:57

Renmazuo

Re : [RÉSOLU]créer un shell script avec arguments

Non plus hmm

Hors ligne

#10 Le 26/05/2008, à 16: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 hmm


"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, à 16: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, à 17: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, à 18: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, à 21: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, à 09:09

Cyriaque

Re : [RÉSOLU]créer un shell script avec arguments

Et quatre ans plus tard ça sert toujours ... tongue

Hors ligne