#1 Le 05/03/2006, à 03:01
- Smon
Lancer un bash en double cliquant...
Voilà en choppant des scripts à droite à gauche j'ai réussi a réaliser un script pour transformer des WMA en MP3 qui fonctionne.
Par contr j'aimerais le rendre exécutable par double clique mais ej ne sais pas coment faire...
Vous pouvez m'aider?
Merci
Hors ligne
#2 Le 05/03/2006, à 09:29
- Ju.
Re : Lancer un bash en double cliquant...
A priori un chmod +x tonscript.sh devrait suffire (ou bouton droit Proprietes, Permissions --> Executer doit etre coche)
Par contre pour eviter de mauvaises surprises, lis ce que fait ton script avant...
Hors ligne
#3 Le 05/03/2006, à 19:20
- Smon
Re : Lancer un bash en double cliquant...
lire ce que afit mon script?
tu veux dire l'executer avec un sh dans le term?
Hors ligne
#4 Le 05/03/2006, à 19:26
- Smon
Re : Lancer un bash en double cliquant...
Bon ça ne marche pas comme je le pensais...
Voila mon script, quand je l'exécute a partir du terminal ça marche nickel (il faut mettre le script dans le bon dossier pour que ça marche) mais lorsque je met ce fichier dans le dossier et que je double clique dessus ça ne marche pas... J'aurais dû m'en douter mais... Quelqu'un peut m'indiquer ce qu'il faut rajouter pour que ça marche par click svp?
#!/bin/bash
current_directory=$( pwd )
## enlève les espaces
for i in *.wma
do mv "$i" `echo $i | tr ' ' '_'`
done
## enlève les problème de casse dans wma
for i in *.[Ww][Mm][Aa]
do mv "${i}" `echo $i | tr '[A-Z]' '[a-z]'`
done
## Rip avec Mplayer les fichiers wma en wav
for i in *.wma
do mplayer -vo null -vc dummy -ao pcm:file="${i}".wav "${i}"
done
## Convertion des fichiers wav en mp3 (bitrate 160)
for i in *.wav
do lame -h "$i" \ "$i".mp3;
done
## supprime les fichiers wav et wma
rm *.wav
rm -f *.wma
## renomme les fichiers .wma.wav.mp3 en .mp3
for i in *.wma.wav.mp3
do mv "$i" ${i%wm*}mp3
done
Dernière modification par Smon (Le 05/03/2006, à 22:43)
Hors ligne
#5 Le 07/03/2006, à 13:50
- Smon
Re : Lancer un bash en double cliquant...
Personne? (petit up)
Hors ligne
#6 Le 07/03/2006, à 22:58
- Nico
Re : Lancer un bash en double cliquant...
Pourquoi tu n'utilises pas les script nautilus, c'est fait pour :
http://g-scripts.sourceforge.net/
regarde la dessus y'a plein d'exemple
sinon je pense que ton probléme vient du $(pwd). Quand tu cliques tu es sur que c'est la bonne valeur?
rajoute une echo $current_directory > /tmp/monscript_directory
et va lire la valeur a la fin du script
Hors ligne
#7 Le 08/03/2006, à 12:30
- Smon
Re : Lancer un bash en double cliquant...
En fait mon script fonctionne bien quand je le lance à la mano (via le terminael en allant directement dans le bon dossier (cd /mondossier) mais pas quand je double clique....
J'ai l'impression que dans ce cas là un simple current_directory=$( pwd ) ne suffit pas...
Pour e qui est de nautilus je ne connais pas... Je vais me renseigner et voir si ça peu m'aider^^
Hors ligne
#8 Le 11/03/2006, à 01:39
- Smon
Re : Lancer un bash en double cliquant...
Bon j'ai essayé Nautilus mais ca ne marche toujours pas...
Que je le lance sur un dossier ou un fichier (bouton droit->script->mon_script) ca revient au même : que dalle...
je vous redonen mon script en espérant que quelqu'un sara me répondre...
#!/bin/bash
current_directory=$( pwd )
## enlève les espaces
for i in *.wma
do mv "$i" `echo $i | tr ' ' '_'`
done
## enlève les problème de casse dans wma
for i in *.[Ww][Mm][Aa]
do mv "${i}" `echo $i | tr '[A-Z]' '[a-z]'`
done
## Rip avec Mplayer les fichiers wma en wav
for i in *.wma
do mplayer -vo null -vc dummy -ao pcm:file="${i}".wav "${i}"
done
## Convertion des fichiers wav en mp3 (bitrate 160)
for i in *.wav
do lame -h "$i" \ "$i".mp3;
done
## supprime les fichiers wav et wma
rm *.wav
rm -f *.wma
## renomme les fichiers .wma.wav.mp3 en .mp3
for i in *.wma.wav.mp3
do mv "$i" ${i%wm*}mp3
done
Hors ligne
#9 Le 13/03/2006, à 21:57
- Smon
Re : Lancer un bash en double cliquant...
p'tit up
Hors ligne
#10 Le 15/03/2006, à 11:22
- yarel
Re : Lancer un bash en double cliquant...
Salut Smon, la seule solution que j'ai trouvé c'est d'utiliser "zenity"
c'est l'equivalent de "xdialog", ça permet de lancer une fenêtre graphique à partir d'un script ou même en ligne de commande
tu rajoute ces lignes au début de ton script
MONREP=$(zenity --directory --file-selection)
cd "$MONREP"
au lancement, zenity va afficher le dialogue de sélection de fichier
l'option --directory limite la selection aux dossiers
pour en savoir plus sur zenity :
zenity --help
ou
man zenity
merci de m'avoir lu
vivez libre... pensez libre...
installez GNU / LINUX
yarel contrib
Hors ligne