对于选项解析, POSIXLY_CORRECT 将被忽略: 后面的选项仍然会被解析
作者: mtvb创建于 2026年9月16日更新于 2026年9月16日
总结
GNU getopt 在环境中设置为 POSIXLY_CORRECT 时,会在第一个非选项参数处停止处理选项,第一个操作符之后的所有内容都被视为操作符。这点已在核心工具手册中的“常用选项”部分中进行了说明:“如果环境变量 POSIXLY_CORRECT 设置为 1,选项必须出现在操作符之前”。此外,getopt(3) 也有相关说明。uutils 工具(基于 clap 的解析)在这里忽略了 POSIXLY_CORRECT,并继续交换选项和操作符。这影响了所有基于 clap 解析的工具,而不仅仅是 rm。rm 只是其中差异最为显著的情况。
内容来源: uutils/coreutils