我想知道如何在最后添加linux命令选项而不会出错。
例如
rm file1/ -r
cp file1/ file2/ -r
正如搜索到的那样,getopts命令可能会有所帮助,但我不确定getopts是否是最佳选择,并且(也不确定如何实现我的目的)。
我是否需要按命令自定义命令,还是可以应用任何命令的更通用的解决方案?
感谢您的帮助。
答案 0 :(得分:0)
考虑这个命令:
rm -f myfile -r -- -i
GNU标志惯例是允许任何地方的选项,直到可选的--
来指示"选项结束"。随后的程序会看到选项-r
和-f
,以及参数myfile
和-i
BSD标志约定是只允许标志直到第一个非标志参数,或者直到可选--
为止。在其后面的程序会看到选项-f
,加上参数myfile
,-r
,--
和-i
。
POSIX只需要实用程序来支持BSD样式。
由各个程序决定如何解释标志。如果你使用像FreeBSD或macOS这样的BSD风格系统,你可以安装GNU工具并使用它们。如果你不能,那么你大多坚持使用系统的旗帜惯例。