Récupérer la valeur du ping sur linux (.sh)

Larniel -  
mamiemando Messages postés 33749 Date d'inscription   Statut Modérateur Dernière intervention   -

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

mamiemando Messages postés 33749 Date d'inscription   Statut Modérateur Dernière intervention   7 872
 

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 ms

Qu'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

0
NHenry Messages postés 15217 Date d'inscription   Statut Modérateur Dernière intervention   363
 

Plus simple :

if ping -c 1 <TonIP> &> /dev/null
then
     echo Ok
else
     echo NOK
fi
0
Larniel Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   > NHenry Messages postés 15217 Date d'inscription   Statut Modérateur Dernière intervention  
 

Ok! Et est-il possible de faire la même chose avec le bluetooth ?

0
NHenry Messages postés 15217 Date d'inscription   Statut Modérateur Dernière intervention   363 > Larniel Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
0
mamiemando Messages postés 33749 Date d'inscription   Statut Modérateur Dernière intervention   7 872 > NHenry Messages postés 15217 Date d'inscription   Statut Modérateur Dernière intervention  
 

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.

0
Larniel Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 

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.

0