Tempête

Puisque j’ai perdu la connexion au nain ternet pendant quelques jours, voici le script qui m’a permis d’être prévenu de son retour.

#!/bin/sh

while [ 1 ];
do
  ping -c 1 -q free.fr >/dev/null 2>&1
  if [ $? -eq 0 ]; then
    break
  fi
  sleep 10
done

beep -r 3
beep -l 500 -f 330
1 « J'aime »

Tu as raté une occasion de faire des économies d’énergie :roll_eyes:

Oui, mais…
Un si joli script !

je m’interroge le break ne s’apparente-t-il pas au goto du basic qui rendait de si grands services mais déstructurait les programmes qui devenaient incompréhensibles et source de bugs incontrôlables ?

Le script aurait pu être écrit sans lui, j’y penserai.
Le GOTO du basic ? C’était il y a bien des lurettes ! À l’époque je savais l’éviter, grâce au remarquable Basic GFA de Frank Ostrowski sur Atari, sans numéro de ligne.

Depuis, je suis passé aux scripts bash, puis j’ai à peu près abandonné.
Mais je garde bien enfoui le virus de la programmation…

Vu la portée de ce script, je ne vois pas le problème.
Je ne suis ni Dijkstra qui bramait contre l’usage de goto (ses collègues devaient en abuser) ni Carmack qui en place quelques-uns dans le code source de Doom parce que sans, ça serait chiant à lire.
J’ai lu quelques cours d’enseignants qui interdisaient break (et return au milieu d’une fonction) dans Python, les scripts sont bien moins lisibles.

Je n’aurais pas fait mieux mais il n’aurait rien eu de « joli »

Sinon y avait plus simple encore

#!/bin/sh

while ! ping -c 1 -q 2001:910:800::52 >/dev/null 2>&1
do
  sleep 10
done

beep -r 3
beep -l 500 -f 330
2 « J'aime »

Pourquoi free.fr, en passant :thinking: ? Ça aurait pu être linuxquimper.org non ? (attention, j’ai pas vérifié si le serveur répond aux pings :stuck_out_tongue_closed_eyes:)

(…ou même juste pinger une IP des fois qu’il y aura un problème de DNS ! Les serveurs de French Data Network sont une bonne idée ! 2001:910:800::52 :smiley: )

1 « J'aime »

Parce que c’est le premier truc qui m’est venu en tête, et quand on n’a pas de réseau du tout, on fait avec les moyens du bord.
Eh oui, je sais que free.fr répond pong à ping.

1 « J'aime »