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
-
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
-
Peut être avec quelque chose du genre : https://www.makeuseof.com/manage-bluetooth-linux-with-bluetoothctl/
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.