我开发了这个脚本程序:(程序名称是 x1)
#!/bin/bash
/usr/bin/top -n 1 >/tmp/top1.log
echo ok
接下来是我在终端上运行它并得到正确回复的命令:
./x1
这意味着当外部命令 top -n 1>tmp/top1.log
被写入文件 top1.log 时,输出中会打印出 ok 消息!
但是,如果我配置 snmpd.cof 并且程序由 snmp 服务运行:
snmpwalk -v2c -c public 127.0.0.0 OID
外部命令top -n 1>/tmp/top1.log
不会放在 top1.log 中,不会生成文件 top1.log,输出中只会打印 ok 消息。
事实上,top -n 1>/tmp/top1.log
命令不能由 SNMP 服务运行。