来自snmpget的响应显示错误消息

时间:2014-10-20 16:20:00

标签: bash variables response snmp

out=$(snmpget -v2c -c $community $device ifDescr.2)的输出未写入变量,但错误消息显示在屏幕上。

由于if [[ "$out" == *"Error"* ]],我需要将此错误消息放入变量。 还有另一种方法吗?

2 个答案:

答案 0 :(得分:1)

snmpget向stderr而不是stdout发送错误消息。这在UNIX / Linux上很常见。但命令替换运算符$()仅捕获stdout。如果要将错误消息捕获到变量中,则需要使用2>&1将stderr重定向到stdout:

out=$(snmpget -v2c -c $community $device ifDescr.2 2>&1)

答案 1 :(得分:0)

已经通过获取错误编号到/ dev / null并使if条件得到解决...但是感谢您获得新知识:)