什么叫`--`?

mtk*_*mtk 26 options command

最近我知道--那是双连字符,它用于告诉命令选项列表已经结束,后面的内容不应被视为选项。所以,

grep --  'search_word' *
Run Code Online (Sandbox Code Playgroud)

将搜索给定的search_word. 但是,如果您删除--并且有一个以 开头的文件,您可能会看到意外行为-,这将打开与filename 中的字符匹配的选项。

这叫什么--?这有什么技术术语吗?

Mat*_*teo 18

--适用于用于getopt(3)处理命令行参数和许多解析 POSIX 样式选项的 API 的工具。

从手册页getopt(3)

参数列表中选项的解释可能会被选项`--'(双破折号)取消,这会导致 getopt() 发出参数处理结束的信号并返回 -1。

然后我会说它被称为双破折号

  • getopt 不是唯一支持“--”的 API。大多数语言中解析 POSIX 样式选项的大多数 API 都支持它。除了 `echo` 和 `[` 之外的所有 POSIX 实用程序都支持它 (3认同)

Chr*_*own 5

我在实践中使用的唯一两个名称是“双破折号”用于在美学上指代它,而“选项结束”用于在功能上指代它。