#1 Le 12/06/2008, à 22:31
- atlas95
[quote?] Probleme script bash pour bashfr
Bonjour,
J'essai de coder un chouilla, j'ai triffouillé un peu différents scripts bash et j'ai réussi à faire un truc pas mal, le script est commenté, il sert en gros à avoir des bash de http://www.bashfr.org
Mon problème est je pense un problème de quotes? (" '), je m'explique, essayer le script, lancer un sudo bashfr --install puis un bashfr --popup plusieurs fois, parfois on a un popup vide.
J'ai donc lancé bash -x bashfr --popup pour tenter de trouver le problème mais je ne sais pas quoi faire.
Peut être faut il convertir la "bash" avant de la passer dans notify-send?
Merci de m'aide.
Script bashfr:
# !/bin/bash
# Affiche une fortune bashfr a la demande
# Documentation
DOC_REQUEST=70
: <<DOCUMENTATIONXX
Ce script permet de télécharger les bash de www.bashfr.org sur votre ordinateur afin de les afficher avec fortune.
Vous devez donc installer fortune: bashfr --install
Utilisation: bashfr <option>
Où les <option> sont:
--help -- affiche cette aide
--update -- afin de mettre à jours les bashfr
--systray -- affiche une icone dans la barre des taches, cliquer dessus pour faire apparaitre une bash!
--popup -- affiche directement un popup avec une bash.
--install -- permet d'installer fortune et d'importer une premiere fois les bash de bashfr.
-- Cyril LEVIS
levis.cyril@gmail.com
DOCUMENTATIONXX
# Declaration fonctions globales
function verif_root {
UID_ROOT=0
if [ "$UID" -ne "$UID_ROOT" ]
then
zenity --error --title="Accès refusé" --text="Les droits d'administrateur n'ont pas été octroyés pour ce script. Veuillez le relancer avec les permissions root!"
exit
fi
}
function update {
# récupéré de http://forum.ubuntu-fr.org/viewtopic.php?pid=1470237
##ce script installe fortune et les fortunes extraites du site bashfr.org
##Pour afficher une fortune extraite de bashfr, tapez fortune bashfr
mkdir /tmp/fortunetemp
cd /tmp/fortunetemp
wget -o /dev/null -N --referer=http://www.bashfr.org/ http://www.bashfr.org/bashfr_fortunes
##suprimme les liens vers bashfr a la fin des quotes
sed -e 's/^--\ http.*//g' bashfr_fortunes > bashfrtemp
##convertit le fichier en utf8
iconv -f iso-8859-1 -t utf8 bashfrtemp --output bashfr
##creation du fichier fortune
strfile -s -r bashfr bashfr.dat
##deplacement du fichier fortune et de sa source dans le repertoire adequat
sudo mv -f bashfr.dat /usr/share/games/fortunes/
sudo mv -f bashfr /usr/share/games/fortunes/
rm bashfr_fortunes
rm bashfrtemp
cd ..
rm -rf fortunetemp
}
case $1 in
"--systray") # Dans la barre des tâches
function systray {
export BASH=`fortune bashfr`
zenity --notification --text="Fais moi lol !" --window-icon=/home/cyril/.icons/tango-d/scalable/emotes/face-monkey.svg
notify-send -u critical -t 20000 -i /home/cyril/.icons/tango-d/scalable/emotes/face-monkey.svg "Bashfr.org" "$BASH" &
systray
}
systray
;;
"--popup") # Affiche juste un popup
export BASH="`fortune bashfr`"
notify-send -u critical -t 20000 -i /home/cyril/.icons/tango-d/scalable/emotes/face-monkey.svg "Bashfr.org" "$BASH" &
;;
"--update") # Met à jours les bashfr
# Verification des droit root
verif_root
update # appel de la fonction update
;;
"--install") # Installer fortune et importer les bash
# Verification des droit root
verif_root
sudo aptitude install fortunes-fr && update
# A FAIRE ICI BINDAGE gconf
;;
*) # Documentation
echo
sed --silent -e '/DOCUMENTATIONXX$/,/^DOCUMENTATIONXX$/p' "$0" |
sed -e '/DOCUMENTATIONXX$/D'
exit $DOC_REQUEST;;
esac
Il faut tester le script pour bien comprendre, car je ne suis surement pas clair dans mes explications bien regarder la partie "--popup"
Dernière modification par atlas95 (Le 13/06/2008, à 04:36)
Ubuntu sur un XPS m1330:c'est ici !
Mon blog sur ubuntu:c'est ici !
Jabber : cyril at jabber.levis-heb.net
Hors ligne