Récupérer la valeur du ping sur linux (.sh)
Bonjour,
Je souhaite programmer un raspberry pour qu'il "débranche" une prise si une un appareil s'éteint. Pour cela je veux le ping toutes les 10 secondes et vérifier le résultat. Comment, avec un fichier .sh, est-il possible de récupérer la valeur (et pas le "time=") du ping?
2 réponses
-
Modérateur
Bonjour,
(mando@silk) (~) $ ping -c2 localhost PING localhost(localhost (::1)) 56 data bytes 64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.023 ms 64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.026 ms --- localhost ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1021ms rtt min/avg/max/mdev = 0.023/0.024/0.026/0.001 msQu'appelles tu la valeur d'un ping dans ce résultat ?
Par exemple si c'est la valeur entière 1021 (dans time 1021ms) que tu veux extraire :
ping -c2 localhost | grep -oE "time [0-9]+ms" | sed -e 's/time \([0-9]*\)ms/\1/'
Tu peux aussi t'en sortir avec awk si tu préfères.
Bonne chance
-
-
@NHenry
Ok! Et est-il possible de faire la même chose avec le bluetooth ?
-
Modérateur@Larniel
Peut être avec quelque chose du genre : https://www.makeuseof.com/manage-bluetooth-linux-with-bluetoothctl/
-
Modérateur@NHenry
Il n'y a pas pour autant que je sache d'équivalent de ping pour bluetooth. En admettant que ce qui t'intéresse soit de lister les devices qui répondent (et pas le délai) je suppose que la commande que tu cherches est :
bluetoothctl paired-devices
... quitte à compléter avec :
bluetooth info DEVICE
... en remplaçant DEVICE par l'identifiant du device à tester.
Voir aussi ce lien.
-
-
Ce que je cherche à savoir c'est si le raspberry est connecté ou non. De ce que j'ai compris, il existe une commande qui renvoie 1 ou 2 suivant si le ping a aboutit ou non.