linux - 如何在末尾有效添加linux命令选项?

标签 linux shell

我想知道如何在末尾添加 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/

相关文章:

android - adb 安装失败,出现错误 'INSTALL_FAILED_INSUFFICIENT_STORAGE'

linux - 为什么 bash test.sh 有效而 ./test.sh 无效?

bash - 不 "pollute"环境的可来源脚本?

linux - 将信息存储在文件中以便更快地访问

c++ - 宏 "#define DPRINTF(...)"是什么意思?

php - exec() 不适用于我发送的所有命令

regex - Bash 脚本 - 需要帮助才能使匹配和替换正常工作

ruby - 这个围绕 GPG 的 Ruby 包装器中是否存在明显的安全漏洞?

linux - Linux 中 while 循环的问题

c - 一个跟踪 CPU 时间和内存使用情况的 Linux shell