0

我已经用 Debian 在 Beaglebone Black 上安装了 snmpd,到目前为止一切正常,除了一件事。

我已经为传递配置了 snmpd.conf

pass .1.3.6.1.4.1.45919 /bin/sh /usr/local/bin/snmp-20

然后 snmp-20 是一个批处理脚本,看起来像这样

#!/bin/bash
if [ "$1" = "-n" ]
then
exit 0
fi

. /root/snmp.cfg

#sSerialNumber
if [ "$2" = ".1.3.6.1.4.1.45919.1.120.5" ]
then
echo 1.3.6.1.4.1.45919.1.120.5
echo string
echo $serial
exit 0
fi

在 snmp.cfg 它看起来像这样

serial=12345

我觉得这一切都很简单。现在,当我运行/bin/sh /usr/local/bin/snmp-20或只是/usr/local/bin/snmp-20得到预期的输出时。

当我这样做时,snmpget -c public -v2c localhost 1.3.6.1.4.1.45919.1.120.5它返回“当前不存在这样的实例......”

但是,当我评论 ./root/snmp.cfg 时,snmpget 调用是成功的,所以调用参数都可以正常工作。

调用命令时脚本似乎退出source /root/snmp.cfg,但仅在由 snmpget 调用时退出,而不是在从提示符调用时退出。

任何想法将不胜感激。

4

0 回答 0