为什么许多 CLI 应用程序采用单个“--”参数?

为什么许多 CLI 应用程序采用单个“--”参数?

可能的重复:
“--”(双破折号)是什么意思?

有许多命令行工具采用单个“--”参数。例如:

gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config

它似乎被用作某种分隔符。它有什么特殊的意义吗?这是一个常用的习语吗?如果是这样,其目的是什么?

PS:我不是在谈论形式的参数--argument,我是在谈论当你后面--跟着白色字符和其他参数时。

答案1

--是许多程序都遵循的约定。它的意思是“忽略这个参数,并将所有后续单词视为命令行参数而不是命令行选项。即使它们以-或开头--。”

例如,如果您不幸有一个名为 的文件-f,您会如何删除它?rm -f不起作用,因为-f被解释为命令的选项rm。但幸运的是,该rm命令遵循--约定,因此您可以使用以下命令删除该文件:

rm -- -f

相关内容