0
我想從使用tcl命令的OID實例中獲取值。Tclsh snmp格式
在TCL,命令的工作:
% set snmp_result [snmpwalk -Os -c public -v 2c 192.168.1.20 .1.3.6.1.4.1.31926.2.1.1.19]
iso.3.6.1.4.1.31926.2.1.1.19.1 = INTEGER: -57
我試圖讓數只-57,所以我寫了一個腳本tclsh的:
set snmp_result [snmpwalk -Os -c public -v 2c 192.168.1.20 .1.3.6.1.4.1.31926.2.1.1.19]
set splitted_result [split $snmp_result ""]
puts [lindex $splitted_result 3]
然後我得到了錯誤:
invalid command name "snmpwalk" while executing "snmpwalk -Os -c public -v 2c 192.168.1.20 .1.3.6.1.4.1.31926.2.1.1.19" invoked from within "array set snmp_result [snmpwalk -Os -c public -v 2c 192.168.1.20 .1.3.6.1.4.1.31926.2.1.1.19]" (file "./siklu.tcl" line 1)
我還了解到,tclsh時,EEM的政策,所以我嘗試:
array set snmp_res [sys_reqinfo_snmp -c public -v 2c 192.168.1.20 oid .1.3.6.1.4.1.31926.2.1.1.19 get_type exact]
但是,這給了我這個錯誤:
invalid command name "sys_reqinfo_snmp" while executing "sys_reqinfo_snmp -c public -v 2c 192.168.1.20 oid .1.3.6.1.4.1.31926.2.1.1.19 get_type exact" invoked from within "array set snmp_res [sys_reqinfo_snmp -c public -v 2c 192.168.1.20 oid .1.3.6.1.4.1.31926.2.1.1.19 get_type axact]" (file "./siklu.tcl" line 2)
非常感謝,它的工作!我實際上嘗試過; set snmp_result [exec「snmpwalk -Os -c public -v 2c 192.168.1.20.1.3.6.1.4.1.31926.2.1.1.19」] 但是那個沒有工作,謝謝隊友。 –