我想知道如何在末尾添加 linux 命令选项而不出错。
例如
rm file1/-r
cp 文件1/文件2/-r
我的经验是一些Linux集群系统可以做到,而总线其他系统则不能。
正如搜索的那样,getopts 命令可能会有所帮助,但我不确定 getopts 是否是最佳选择(也不确定如何实现我的目的)。
我需要逐个命令自定义命令还是有更通用的解决方案可以应用任何命令?
感谢您的帮助。
最佳答案
考虑这个命令:
rm -f myfile -r -- -i
GNU 标志约定允许在任何地方使用选项,直到可选的 --
来指示“选项结束”。其后的程序将看到选项 -r
和 -f
,以及参数 myfile
和 -i
BSD 标志约定是仅在第一个非标志参数或可选的 --
之前允许使用标志。其后的程序将看到选项 -f
,以及参数 myfile
、-r
、--
和 -i
。
POSIX 仅需要实用程序来支持 BSD 风格。
由各个程序决定如何解释标志。如果您使用的是 BSD 风格的系统(例如 FreeBSD 或 macOS),则可以安装 GNU 工具并使用它们。如果你不能,那么你基本上会被系统的标志约定所困扰。
关于linux - 如何在末尾有效添加linux命令选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49619376/