我刚遇到这个问题:
couchy.py -H myhost-a version -E no connection --nagios
couchy.py
是我使用getopt
的工具。
请注意,调用参数中存在错误:no connection
未引用(应为"no connection"
),因此-E
标记仅显示no
作为参数。更糟糕的是,有一个令人讨厌的副作用:--nagios
标志未经处理。似乎第一个与选项标志无关的条目(在这种情况下为connection
)会停止标记处理。
因此,我的工具不会产生适合的nagios退出代码,只是正常的退出代码(在本例中为0
),nagios将其解释为OK: no error
,我错过了警报。
由于我经常犯这个错误(没有正确引用参数),我想避免副作用:有没有办法强制getopt处理所有标志,直到命令行结束?