Networking netsnmp的难点:使用snmpget并将错误记录到STDOUT
在手册页中,我看到以下内容:Networking netsnmp的难点:使用snmpget并将错误记录到STDOUT,networking,snmp,Networking,Snmp,在手册页中,我看到以下内容: -L LOGOPTS Toggle various defaults controlling logging: e: log to standard error o: log to standard output 这让我非常兴奋,因为我正处于一种可能的状态 对我来说,从STDOUT而不是从 斯特德尔 如果我运行命令: snmpget -v1 -ccommS
-L LOGOPTS Toggle various defaults controlling logging:
e: log to standard error
o: log to standard output
这让我非常兴奋,因为我正处于一种可能的状态
对我来说,从STDOUT而不是从
斯特德尔
如果我运行命令:
snmpget -v1 -ccommString -Lo 172.16.x.x .1.2.3.4.5.6.7.8.9
snmpget -v1 -ccommString -Lo 172.16.x.x .1.2.3.4.5.6.7.8.9 2> foo
我回到终点站
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: iso.2.3.4.5.6.7.8.9
但是,如果我运行该命令:
snmpget -v1 -ccommString -Lo 172.16.x.x .1.2.3.4.5.6.7.8.9
snmpget -v1 -ccommString -Lo 172.16.x.x .1.2.3.4.5.6.7.8.9 2> foo
我在终端没有得到响应,但foo文件包含相同的响应
我在上面收到的错误消息。因此,我得到了错误信息
而不是像我所期望的那样在STDOUT上
我这里的手册页读错了吗?另外,我也试过这个
在linux和windows系统上,由于我所处的情况
我更希望在STDOUT而不是STDERR上发出错误
因为我不想用shell来做与往常一样的工作
2> &1
非常感谢您的帮助或建议。我相信-L选项控制代理(snmpd)如何进行日志记录,而不适用于来自snmpget的错误消息(-L是“常用”标志之一,它可能不适用于所有网络snmp命令)。我相信-L选项控制代理(snmpd)如何进行日志记录,并且不适用于来自snmpget的错误消息(-L是“通用”标志之一,它可能不适用于所有网络snmp命令)。以下c代码是snmpget实用程序源代码的一部分(net-snmp-5.4.2.1\apps中的snmpget.c) 如您所见,消息只需写入stderr
您可以有一个自定义的snmpget实用程序:源代码,将stderr替换为stdout,然后重新编译。以下c代码是snmpget实用程序源代码的一部分(net-snmp-5.4.2.1\apps中的snmpget.c) 如您所见,消息只需写入stderr 您可以有一个自定义的snmpget实用程序:在源代码中,将stderr替换为stdout,然后重新编译