Bonjour ,
Je cherche à comparer un nombre entier que je récupère d'une requête SNMP ( ici la température d'un onduleur ) , je stock cette valeurs dans un fichier texte afin de pouvoir isoler la valeur .
Cependant lorsque j'essaye de la faire passer dans ma boucle If , j'ai l'impression qu'il ne prend pas en compte la valeurs .
Malgré que je change la valeurs de la première condition il me retourne automatiquement Température normal
température.sh :
Résultat.txt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #!/bin/bash info_brut=$(snmpwalk -Os -c $1 -v $2 $3 .1.3.6.1.4.1.3808.1.1.1.2.2.3.0) snmpwalk -Os -c public -v 1 xxx.xxx.xxx.xxx .1.3.6.1.4.1.3808.1.1.1.2.2.3.0 > résultat.txt if (egrep -o '[[:digit:]]*$'./résultat.txt <<< 20) ; then echo "Température haute" exit 1 elif (egrep -o '[[:digit:]]*$'./résultat.txt <<< 30) ; then echo "Température trop haute" exit 2 else echo "Température normal" exit 0 fi
Code : Sélectionner tout - Visualiser dans une fenêtre à part enterprises.3808.1.1.1.2.2.3.0 = Gauge32: 25
Peut être que un avis extérieur pourrait m’éclaircir les idées ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [root@SRV-SUPER-01 custom]# ./température.sh public 1 xxx.xxx.xxx.xxx enterprises.3808.1.1.1.2.2.3.0 = Gauge32: 25 Température normal
Partager