在 bash 中,可以使用 -o 检查活动选项:例如 [ -o nounset ] && echo "Option -u active"
但是在测试中,(d)ash(busybox 中包含的 shell)似乎无法识别 -o。
如何测试 ash/dash 中的选项?或者,也许还有其他专门针对 busybox 的 hack 吗?
答案1
回答:
“set -o” 打印所有已知选项的列表,其状态为“开”或“关”。
“set +o” 打印相同的内容,但输出格式不是“option on/off”,而是“set +o option”或“set -o option”。
Grep 那个。
感谢所有愿意提供帮助的人 ;)
答案2
另一个答案:(感谢 busybox 邮件列表上的人们)
特殊变量 $- 扩展为所有活动选项字母的字符串。这也适用于 ash/dash 和 bash。