Boucle while script shell
hyde
Messages postés
9
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Venant tout juste de commencer le scriping shell, j'ai fait un petit script qui teste si ma machine a une connexion internet en effectuant un simple ping à google.fr.
Le but est de sortir de la boucle en cas d'échec du ping ou de faire le ping "indéfiniment" si google est toujours joignable.
Mon script est le suivant:
PING='/bin/ping'
EXTHOST1='www.google.com'
etat=true
count=0
while [ $etat ]
do
$PING -c1 $EXTHOST1 1>/dev/nul
ret=$?
if [ $ret -ne 0 ]
then
#count=$(($count + 1))
echo "ping n a pas marche, nbre de fois =$count "
etat=false
sleep 4
elif [ $ret -eq 0 ]
then
#count=$(($count + 1))
echo "ping a marche, $etat, nbre de fois =$count "
etat=true
sleep 4
fi
done
Mon problème: je n'arrive pas à sortir de ma boucle lorsque le ping ne marche pas et que ma variable etat passe à false.
Quelqu'un a-t-il une idée de là ou j'ai fait une erreur?
Merci
Venant tout juste de commencer le scriping shell, j'ai fait un petit script qui teste si ma machine a une connexion internet en effectuant un simple ping à google.fr.
Le but est de sortir de la boucle en cas d'échec du ping ou de faire le ping "indéfiniment" si google est toujours joignable.
Mon script est le suivant:
PING='/bin/ping'
EXTHOST1='www.google.com'
etat=true
count=0
while [ $etat ]
do
$PING -c1 $EXTHOST1 1>/dev/nul
ret=$?
if [ $ret -ne 0 ]
then
#count=$(($count + 1))
echo "ping n a pas marche, nbre de fois =$count "
etat=false
sleep 4
elif [ $ret -eq 0 ]
then
#count=$(($count + 1))
echo "ping a marche, $etat, nbre de fois =$count "
etat=true
sleep 4
fi
done
Mon problème: je n'arrive pas à sortir de ma boucle lorsque le ping ne marche pas et que ma variable etat passe à false.
Quelqu'un a-t-il une idée de là ou j'ai fait une erreur?
Merci
A voir également:
- Boucle while script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- le test de hyde sur la variable etat sera toujours vrai, car dans son code elle existe toujours et a toujours une valeur.
je suggère
tout simplement ($etat. étant true, ou false)
- le elif n'est pas utile, un simple else suffit