Bonjour la communauté codeur et programmeur et merci d'avance de votre attention

Mon but est de trouver la valeur des ping des différentes adresses IP composant mon réseau et de calculer la différence entre le ping le plus haut et le plus bas pour chaque ping et de le comparer à un seuil arbitraire que j'ai choisie égale à 0.10 ms

j'ai donc un fichier IP.txt contenant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost lux lux.esme.fr
::1             localhost6.localdomain6 localhost6
 
172.16.0.7      ohm.esme.fr
172.16.0.8      volt.esme.fr
172.16.0.3      joule.esme.fr
127.0.0.1       localhost.localdomain
172.16.0.12     flops.esme.fr
Mon programme est le suivant :

Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh
 
#On choisie un seuil au hasard
seuil=0.10
 
#On a copier au prealable ce qu'il y a dans le fichier host dans IP.txt
 
#On va prendre les adresses IP qui nous interesse (bon ici je triche un peut)
 
IP1=$(cat /home/students/carpentier_b/IP.txt | grep -e "ohm" |
cut -c 1-10)
 
IP2=$(cat /home/students/carpentier_b/IP.txt | grep -e "volt" |
cut -c 1-10)
 
IP3=$(cat /home/students/carpentier_b/IP.txt | grep -e "joule" |
cut -c 1-11)
 
#On va travailler sur le 1er ping
 
echo '         <alertes ping $IP1>' >>TP4.xml
 
ping -c 5 -n $IP1 > ping.txt
 
#On va chercher les valeur qui nous interesse (ping max et ping min)
 
ping_min=$(cat /home/students/carpentier_b/ping.txt | grep -e "rtt" |
cut -c 24-28)
 
ping_max=$(cat /home/students/carpentier_b/ping.txt | grep -e "rtt" |
cut -c 36-40)
 
#On calcule la difference entre le max et le min
 
dif=`echo "$ping_max - $ping_min" | bc`
 
#On regarde si on a la difference plus grande que le seuil et si oui alerte
 
if [ $seuil-le $dif ] |bc
        then
        echo 'ping trop haut, verifier votre réseau pour $ IP 1'>>TP4.xml
 
        else
 
        echo 'Tout va bien pour $IP1' >> TP4.xml
fi
 
echo '          </alerte ping $IP1>' >>TP4ml


et pour rajouter lorsqu'on fait la commande ping -c 5 -n $IP1 > ping.txt , voila ce que j'ai dans le fichier ping.txt:

0.215PING 172.16.0.7 (172.16.0.7) 56(84) bytes of data.
64 bytes from 172.16.0.7: icmp_seq=1 ttl=64 time=1.46 ms
64 bytes from 172.16.0.7: icmp_seq=2 ttl=64 time=0.193 ms
64 bytes from 172.16.0.7: icmp_seq=3 ttl=64 time=0.332 ms
64 bytes from 172.16.0.7: icmp_seq=4 ttl=64 time=0.223 ms
64 bytes from 172.16.0.7: icmp_seq=5 ttl=64 time=0.602 m
--- 172.16.0.7 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 0.193/0.562/1.464/0.474 ms


Je ne pense pas qu'il y ai de probleme dans mon code mais lorsque je lance mon programme , voila ce que ça m'affiche:

Usage: ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline]
[-p pattern] [-s packetsize] [-t ttl] [-I interface or address]
[-M mtu discovery hint] [-S sndbuf]
[ -T timestamp option ] [ -Q tos ] [hop1 ...] destination
(standard_in) 2: parse error

Je ne comprend pas car lorsque j'avais tester les instructions dans la commande, je n'avais aucune erreur

Est ce que quelqu'un peut m'aider car la je sèche et je dois rendre mon TP avant 18h