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

Oli*_*nde 2 shell command-line command-line-arguments

我见过许多带有“--”参数的命令行工具。例如:

gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config
Run Code Online (Sandbox Code Playgroud)

它代表什么?它有什么特别的意义吗?

Isa*_*tch 6

这意味着该工具应该停止将破折号视为选项字符。例如,假设您要在文件中搜索破折号:

grep -- - file
Run Code Online (Sandbox Code Playgroud)

在您的示例中,这--是必需的,因为 gem 工具正在调用另一个工具,该工具也使用破折号前缀选项。