Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/12/2009, à 11:46

Totof08170

zenity

Bonjours ,

je ne sais pas si je suis dans la bonne section pour ce sujet, mais bon.

Voila, j'ai fait un petit script shell qui ping les IP qui sont dans un fichier nommer IP.txt et qui dit combient de machine sont allumer et combient n'y sont pas.

J'aimerais modifier ce script en mettant une boite de dialogue zenity. J'ai vue la liste déroulante suivante :

zenity --entry --title="Jour" --text="Veuillez indiquer le jour de la semaine" Lundi Mardi Mercredi "Autre jour..."

Mais lorsque l'on clique sur un choix, le choix s'affiche dans le terminal, j'aimerais bien mémoriser le choix et faire un teste sur celui si pour donner ce qui va avec.

Je vous met mon script de départ si vous voulez

#!/bin/bash
IP=`ifconfig | grep -E 'inet add?r:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`

MASK=`ifconfig | grep -E 'inet add?r:'| grep "$IP" | cut -d: -f4`

GATEWAY=`route -n | grep -E "^0.0.0.0 +[[:digit:].]+ +0.0.0.0" | awk '{print $2}'`

DNS=`grep nameserver /etc/resolv.conf | head -1 | awk '{print $2}'`

IP_NET=`wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1`

ip=$(cat ip.txt )
ok=0
nok=0

black="\033[30m" 
red="\033[31m"
green="\033[32m"
yellow="\033[33m"
blue="\033[34m"
magenta="\033[35m"
cyan="\033[36m"
white="\033[37m"


echo -e "\n"
echo -e "            $blue ##################### "
echo -e "            $blue #      $red Ping $blue       #" 
echo -e "             $blue#       $red v3 $blue        #"
echo -e "            $blue #    $red by Totof $blue     #"
echo -e "            $blue #####################"
echo -e " \n "



echo    "     " "           VOS PARAMETRE IP " 
echo "#############################################"
echo  "#                                           #" 
echo "# Adresse IP Local    : $IP"      "       #"
echo "# Masque              : $MASK       #"
echo "# Passerelle          : $GATEWAY         #"
echo "# DNS                 : $DNS         #"
echo "# Adresse IP Internet :$IP_NET       #"
echo "#                                           #"
echo "#############################################"
echo -e "\n"

echo -e    "Ping des machines de ip.txt en cours"
echo -e "\n"

for mot in $ip 
do 
  result=$(ping $mot -c 1)
  status=$(echo $result | grep "100% packet loss" )
  if [ -z "$status" ]
    then
        echo -e " $magenta => Etat de la machine $mot : $black $green OK $black \n  "
        let ok=ok+1 
    else 
        echo -e " $magenta => Etat de la machine $mot : $black $red Non OK $black \n "
        let nok=nok+1
    fi 
done
echo -e  $blue"Ping des machines ip.txt terminé"
echo -e "\n"
echo -e "     $blue##################################### "
echo -e "    $blue #           $red Fin du script $blue         #" 
echo -e "     $blue#   $red Nb de machine OK     : $ok    $blue   #"
echo -e "    $blue #   $red Nb de machine Non OK : $nok    $blue   #"
echo -e "    $blue #####################################$black"

Hors ligne

#2 Le 18/12/2009, à 12:02

sensini

Re : zenity

Salut, j'ai pas le courage de tout lire, mais il suffit que tu récupères la valeur dans une variable:

reponse=$(zenity --entry --text "blabla?" --entry-text "defaut")
echo $reponse

http://doc.ubuntu-fr.org/aptitude
http://bepo.fr
Pensez à chercher sur un moteur de recherche avant de demander http://google.fr/ ;)

Hors ligne

#3 Le 18/12/2009, à 12:20

Totof08170

Re : zenity

il y avais pas besoin de tout lire ^^

Pourquoi j'y ai pas penser u_u", je débute dans le script shell, j'en fait en cours depuis 1 mois environ

Hors ligne