2014-10-20 70 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,並且如果條件使...但謝謝爲新知識:)