Audio :
Peer2peer :
Coding
Langage CMandrake
Materiel
Messagerie Instantanée
Sécurité
Autres
| Auteur : Mazzaru | Mail : mazzaru[at]scooba[dot]org |
|---|---|
| Langage : Shell bash | Systeme : Gnu/linux |
| Dernière Modif : 09/09/04 | Version : 1.1 |
#!/bin/sh
#Script auto install plugin Musepack for Xmms
#Musepack-xmms v0.0.1a
if [ "$UID" -eq "0" ]; then
echo "Don't run this script as root"
exit 1
fi
# télécharge le plugin
wget http://www.personal.uni-jena.de/~pfk/MPP/bin/xmms-0.98.zip
#décompresse le plugin avec unzip
unzip xmms-0.98.zip
#modifie les droits du plugin en 555 qui signifie : r-xr-xr-x
chmod 555 xmms-musepack-0.98.so
#couper/coller dans le répertoire des plugins xmms
mv xmms-musepack-0.98.so ~/.xmms/Plugins/
#Suppresion des fichiers extraits de l'archive ainci que l'archive elle même
rm -f README_mpc* && rm -f Wanted && rm -f xmms-0.98.zip && rm -f ChangeLog
Pour étudier la notions de fonction dans un script nous allons ajouter au script une option de désinstallation du plugin.
Nous allons aussi créer une fonction permettant d'installer le plugin. Pour faire le lien entre les 2 fonctions il faut obligatoirement
un choix donné à l'utilisateur par exemple :
$TEST() {
>echo -e "ma commande perso s'appel TEST"
>ls -l
>echo "affichage du repertoire courrant terminé."
>}
$
Une fois que vous avez tapez l'arrobase de fermture sur une ligne cela indique a bash que votre fonction est terminée.$TEST ma commande perso s'appel TEST drwxr-xr-x 2 root ftp 1024 Dec 13 04:02 . drwxr-xr-x 4 root ftp 1024 Dec 13 04:02 .. -rw-r--r-- 1 root ftp 562314 Dec 12 15:48 openssh-2.3.0p1-1.src.rpm -rw-r--r-- 1 root ftp 1884063 Dec 12 15:48 openssl-0.9.5a-3.src.rpm affichage du repertoire courrant terminé. $
function INSTALL_PLUGIN() {
wget http://www.personal.uni-jena.de/~pfk/MPP/bin/xmms-0.98.zip
unzip xmms-0.98.zip
chmod 555 xmms-musepack-0.98.so
mv xmms-musepack-0.98.so ~/.xmms/Plugins/
rm -f README_mpc* && rm -f Wanted && rm -f xmms-0.98.zip && rm -f ChangeLog
}
La fonction INSTALL_PLUGIN() est terminée
function UNINSTALL_PLUGIN() {
rm -f ~/.xmms/Plugins/xmms-musepack-0.98.so
}
Voila maintenant cette même fonction avec le test conditionnel qui permettra au script de détecter si le plugin est déjà installé.
Utilisons la syntaxe suivante :
function UNINSTALL_PLUGIN() {
if [ ! -e ~/.xmms/Plugin/xmms-musepack-0.98.so ]
then
echo "Plugin already uninstall"
exit 0
else
rm -f ~/.xmms/Plugins/xmms-musepack-0.98.so
exit 0
fi
}
Nos 2 fonctions sont terminées, il faut maintenant créer le menu qui va
permettre à l'utilisateur d'installer ou de désinstaller le plugin. On a donc forcement besoin d'une saisie utilisateur pour qu'il transmet son choix à notre script, il nous faut donc une variable pour le contenir. Le choix pourrait être géré par une combinaison de test conditionnel, mais pour rester le plus pédagogique possible, utilisons l'instruction :
case $VARIABLE in
choix 1)commande 1;;
choix 2)commande 2;;
choix 3)commande 3;;
...
etc...
esac
voici le menu qui sera présenté à l'utilisateur :
echo "Musepack-xmms install script v0.1" echo "" echo "1 - Install plugin Musepack" echo "2 - Uninstall plugin Musepack" echo "" echo "Choice : " read CHOIXL'instruction "read" nous permet de capturer la saisie de l'utilisateur, pour être utilisée par l'instruction case esac comme ceci par notre script :
case $CHOIX in
1)INSTALL_PLUGIN;;
2)UNINSTALL_PLUGIN;;
*)exit 0;;
esac
Rassemblons maintenant toutes nos étapes en commençant par les fonctions puis le menu.bash: INSTALL_PLUGIN: commande not foundComme vous pouvez le voir, j'ai mis le test d'utilisation non root avant les 2 fonctions, justement pour qu'il effectue tout de suite la vérification et qu'il n'est pas le temps d'initialiser nos 2 fonctions dans le cas ou l'utilisateur aurait lancé le script en tant que root.
#!/bin/sh
#Script Musepack auto install
if [ "$UID" -eq "0" ]; then
echo "Don't run this script as root"
exit 1
fi
function INSTALL_PLUGIN() {
wget http://www.personal.uni-jena.de/~pfk/MPP/bin/xmms-0.98.zip
unzip xmms-0.98.zip
chmod 555 xmms-musepack-0.98.so
mv xmms-musepack-0.98.so ~/.xmms/Plugins/
rm -f README_mpc* && rm -f Wanted && rm -f xmms-0.98.zip && rm -f ChangeLog
exit 0
}
function UNINSTALL_PLUGIN() {
if [ ! -e ~/.xmms/Plugin/xmms-musepack-0.98.so ]; then
echo "Plugin already uninstall"
exit 0
else
rm -f ~/.xmms/Plugins/xmms-musepack-0.98.so
exit 0
fi
}
echo ""
echo "Musepack-xmms install script v0.1"
echo ""
echo "1 - Install plugin Musepack"
echo "2 - Uninstall plugin Musepack"
echo ""
echo "Choice : "
read CHOIX
case $CHOIX in
1)INSTALL_PLUGIN;;
2)UNINSTALL_PLUGIN;;
*)exit 0;;
esac
Vous pouvez maintenant sauver votre script et lui assigner le droit déxécution et le lancer :
$chmod 755 Musepack-xmms $./Musepack-xmms Musepack-xmms install script v0.1 1 - Install plugin Musepack 2 - Uninstall plugin Musepack Choice : 1 $Ce petit tutoriel est terminé.
: interne
: sortant
: téléchargement
: Anglophone
- [
Powered by Itseasy v0.3.7
|
Thème : Light Blue par Vanquish
] -
Les informations ne sont données qu'à titre indicatif.
© routes-linux, tous droits réservés - Reproduction interdite.
[ Page générée en 0.00358 secondes | Compression gZip active ]
Poids XHTML : 15.98 ko (19.34 ko non compressé) - CSS : 5.05 ko
Eléments chargés : 8.99 ko