我见过许多命令行工具采用“--”参数。例如:
gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config
它代表什么?有什么特殊含义吗?
答案1
这意味着该工具应该停止将破折号视为选项字符。例如,假设您想在文件中搜索破折号字符:
grep -- - file
在您的示例中,这--
是必要的,因为 gem 工具正在调用另一个工具,该工具也使用带破折号前缀的选项。
答案2
当一个程序需要使用长选项时,需要调用另一个也需要长选项的程序,这是常见的做法。它会向第一个程序发出信号,让其停止解析选项,并将其余选项原封不动地传递给它调用的子进程。