linux:scripts_bash:vrac
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
linux:scripts_bash:vrac [29/12/2008 13:13] – correction daniel | linux:scripts_bash:vrac [22/07/2010 17:29] (Version actuelle) – daniel | ||
---|---|---|---|
Ligne 77: | Ligne 77: | ||
# ensuite, si tout est OK, on peut effacer img.bak et tmp | # ensuite, si tout est OK, on peut effacer img.bak et tmp | ||
</ | </ | ||
+ | |||
===== Colorer la sortie d'un script ===== | ===== Colorer la sortie d'un script ===== | ||
Ligne 84: | Ligne 85: | ||
KO='[ \e[0; | KO='[ \e[0; | ||
commande && echo -e $OK || echo -e $KO | commande && echo -e $OK || echo -e $KO | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Récupérer les journaux de france culture ===== | ||
+ | D' | ||
+ | <code bash> | ||
+ | [ $# -ne 1 ] && echo "Il faut passer un argument (7, | ||
+ | |||
+ | urls=([7]=http:// | ||
+ | url='' | ||
+ | for i in ${!urls[*]} | ||
+ | do | ||
+ | [ $1 -eq $i ] && url=${urls[i]} && h=$i | ||
+ | done | ||
+ | [ -z " | ||
+ | |||
+ | wget $url -O fc${h}.xml | ||
+ | mp3=$(sed -nre ' | ||
+ | { | ||
+ | :boucle | ||
+ | N | ||
+ | $! b boucle | ||
+ | } | ||
+ | s# | ||
+ | |||
+ | echo -e "\nOn va essayer de récupérer \e[0; | ||
+ | wget " | ||
+ | </ | ||
+ | |||
+ | Et avec zenity (à peaufiner...) | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | # les urls des rss, à modifier si ça devait changer... | ||
+ | urls=([7]=http:// | ||
+ | |||
+ | # qq tests | ||
+ | which zenity >/ | ||
+ | # Attention avec $?, 0 => OK, on change | ||
+ | [ $? -eq 0 ] && zenok=TRUE || zenok=FALSE | ||
+ | |||
+ | which notify-send >/ | ||
+ | [ $? -eq 0 ] && notifok=TRUE || notifok=FALSE | ||
+ | # faudrait plutôt se baser sur le test [ -z " | ||
+ | |||
+ | |||
+ | # les fonctions | ||
+ | |||
+ | get_heure() { | ||
+ | if [ $# -eq 0 ] && [ " | ||
+ | then | ||
+ | ret=$(zenity --title=' | ||
+ | --column='' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | [ -z " | ||
+ | case " | ||
+ | 7h) h=7;; | ||
+ | 12h30) h=12;; | ||
+ | 18h) | ||
+ | 22h) | ||
+ | *) set_msg "Heure $ret inconnue" | ||
+ | esac | ||
+ | else | ||
+ | [ $# -ne 1 ] && echo "Il faut passer un argument (7, | ||
+ | h=$1 | ||
+ | fi | ||
+ | return $h | ||
+ | } | ||
+ | |||
+ | set_msg() { | ||
+ | [ $notifok = " | ||
+ | } | ||
+ | |||
+ | check_heure() { | ||
+ | url='' | ||
+ | for i in ${!urls[*]} | ||
+ | do | ||
+ | [ $1 -eq $i ] && url=${urls[i]} && h=$i | ||
+ | done | ||
+ | [ -z " | ||
+ | } | ||
+ | |||
+ | ask2continue() { | ||
+ | if [ $zenok = TRUE ] | ||
+ | then | ||
+ | | ||
+ | [ $? != " | ||
+ | else | ||
+ | echo $1 | ||
+ | echo " | ||
+ | read rep | ||
+ | [ " | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | get_url() { | ||
+ | xml="/ | ||
+ | wget $url -O " | ||
+ | mp3=$(sed -nre ' | ||
+ | { | ||
+ | :boucle | ||
+ | N | ||
+ | $! b boucle | ||
+ | } | ||
+ | s# | ||
+ | |||
+ | jour=$(date ' | ||
+ | [ " | ||
+ | |||
+ | # si abandon on est déjà sorti | ||
+ | fich=/ | ||
+ | wget " | ||
+ | if [ $? ] | ||
+ | then | ||
+ | rm -f fc${h}.xml | ||
+ | set_msg "On a récupéré un mp3 ($fich)" | ||
+ | xdg-open $fich | ||
+ | # rm -f $fich # xdg rend la main tout de suite | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | # et le main | ||
+ | get_heure $* | ||
+ | h=$? | ||
+ | check_heure $h | ||
+ | get_url $url | ||
</ | </ | ||
linux/scripts_bash/vrac.1230552793.txt.gz · Dernière modification : 29/12/2008 13:13 de daniel