我正在尝试使用bash脚本轮询一组具有多个SNMP社区字符串的设备。目标是如果snmpwalk超时它会尝试另一个字符串,但我的情况是错误的。
Derived::f
答案 0 :(得分:0)
我使用-z
计算了它并添加了timeout -s KILL 2
,因为它需要很长时间。
while read line
do
ip="$line"
device=$(timeout -s KILL 2 /usr/bin/snmpwalk -v 2c -c string1 $ip 1.3.6.1.2.1.1.1)
if [ -z "$device" ]
then
device=$(timeout -s KILL 2 /usr/bin/snmpwalk -v 2c -c string2 $ip 1.3.6.1.2.1.1.1)
if [ -z "$device" ]
then
device=$(timeout -s KILL 2 /usr/bin/snmpwalk -v 2c -c string3 $ip 1.3.6.1.2.1.1.1)
if [ -z "$device" ]
then
device=$(echo " Not my problem ")
fi
fi
fi
echo "$ip $device"
done < ip-list > device-list