#1 Le 27/11/2010, à 14:56
- kazylax
Savoir si une nouvelle version est disponible
Bonjour,
J'ai le script suivant pour savoir si une nouvelle version de Emesene est disponible
seulement quand j'exécute le script je n'arrive pas a savoir si une version plus récente est disponible
#!/bin/bash
actualversion="emesene_1.6.2"
a=$(echo $actualversion | cut -f1 -d.)
b=$(echo $actualversion | cut -f2 -d.)
last=$(lynx -dump http://ftp.de.debian.org/debian/pool/main/e/emesene/ | grep $a\.[0-9]\.orig.tar.gz | cut -b58- | tail -1)
if [[ "$b" -lt "$last" ]];
then
zenity --info --title='Check Version' --text="
<b>Une mise a jour est disponible !</b>
<a href=\"http://ftp.de.debian.org/debian/pool/main/e/emesene/\">http://ftp.de.debian.org/debian/pool/main/e/emesene/</a>"
else
zenity --info --title='Check Version' --text="Aucune mise a jour disponible"
fi
pouvez-vous m'aider s'il vous plait ?
Merci
Cordialement,
Dernière modification par kazylax (Le 27/11/2010, à 14:56)
Hors ligne
#2 Le 27/11/2010, à 15:44
- ehmicky
Re : Savoir si une nouvelle version est disponible
Salut,
Tu peux essayer :
#!/bin/bash
actualversion="emesene_1.6.2"
chemin_ftp="http://ftp.de.debian.org/debian/pool/main/e/emesene/"
paquet="$(cut -f1 -d_ <<<"$actualversion")"
vers_actu="$(cut -f2 -d_ <<<"$actualversion")"
dern_vers="$(lynx -dump "$chemin_ftp"\
| grep "${chemin_ftp}${paquet}_[[:digit:].]*.orig.tar.gz"\
| sed "s|.*/${paquet}_||")"
if sort -CV <<<"$dern_vers"$'\n'"$vers_actu" ; then
zenity --info --title='Check Version' --text="Aucune mise a jour disponible"
else
zenity --info --title='Check Version' --text="
<b>Une mise a jour est disponible !</b>
<a href=\"http://ftp.de.debian.org/debian/pool/main/e/emesene/\">http://ftp.de.debian.org/debian/pool/main/e/emesene/</a>"
fi
Le sort -CV c'est un peu de la bidouille, mais je connais pas de commande Unix faisant une comparaison de version autrement :-| (même s'il y en a une en C dans Glibc, d'ailleurs utilisée par sort -V).
Sinon, je crois qu'il doit y avoir un meilleur moyen pour vérifier une mise à jour que de parser une page ftp ?
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#3 Le 27/11/2010, à 15:53
- kazylax
Re : Savoir si une nouvelle version est disponible
Merci beaucoup
il fonctionne bien
Je connais que cette astuce après si il y a mieux je suis preneur
via bash si possible.
Cordialement,
Hors ligne