2014-10-20 92 views
1

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

因为if [[ "$out" == *"Error"* ]],我需要把这个错误信息给变量。 有没有另一种方法来实现它?

+0

请在您的问题中添加更多详细信息。 – 2014-10-20 16:26:01

回答

1

snmpget正在向stderr发送错误消息,而不是stdout。这在UNIX/Linux上很常见。但是命令替换运算符$()仅捕获标准输出。如果你想赶上错误信息到您的变量,您需要使用2>&1重定向标准错误到标准输出:

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

与得到错误号已经解决到/ dev/null,并且如果条件使...但谢谢为新知识:)