Script shell et commande ping
Bonjour a tous,
Ma question est tres simple et ne devrait pas vous posez trop de probleme.
J'ai ecri un script shell qui execute la commande ping sur plusieurs ip :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#! /bin/bash
# Select the third number of your own ip (to select the good router)
ip1=$(hostname -I | awk '{print $1}' | sed -e "s/\./ /g" | awk '{print $3}')
rm logIp 2> /dev/null
# Execute the ping command on the 254 ip correpondant to the selecting router
function pingIP()
{
ping -c 1 192.168.$ip1.$1 >& /dev/null
[ $? -eq 0 ] && echo "192.168.$ip1.$1" >> logIp
}
# Loop to execute all ping command on the same time
for ip2 in $(seq 1 254); do
pingIP $ip2 &
done
# Code to remove my own ip to the file which contains all ips
myIp=$(hostname -I)
grep -v $myIp logIp > logIp |
J'ai commente mon code pour que vous sachiez ce que j'ai voulu faire,
mon souci :
Ce script ne donne jamais le meme resultat et pourtant, je sais qu'il teste toujours les memes 254 ips.
A moins que les gens s'amusent a deconnecte leur pc toutes les secondes, je ne comprends pas pourquoi je ne recois pas toujours la meme liste.
Savez-vous pourquoi ?
Merci d'avance