Linux/Unix 命令行中的“--”是什么意思?

Ben*_*min 14 command-line git

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

git diff [options] [<commit>] [--] [<path>…]

在这里,我应该如何理解 [--] 的意思?我应该什么时候使用它。

jor*_*anm 21

--常用于命令用于指示的选项的结束。如果您的文件名以“-”开头或您的输入未知,这将很有用。以下是它的使用示例:

git diff --stat -- --file1 --file2

--file1 被视为文件名而不是另一个选项。

  • +1 表示**通常**。但是请注意,许多实用程序可以与指定为`./--file1` 等的文件一起使用。 (3认同)

cjm*_*cjm 17

与往常一样,您应该阅读命令的联机帮助页以了解它如何解释其参数。

--通常用于指示命令选项的结束。如果您想传递以-.开头的文件名或其他参数,这尤其有用。在通配符之前使用它也是一个好主意,通配符可能会扩展为以连字符开头的文件名。(例如,尝试mkdir foo; cd foo; echo >-l; ls *; ls -- *。)

git diff也使用它来指示参数是 a <commit>(指示要修改的修订版)还是 a <path>(指示要修改的文件)。它通常可以猜测,但值可能既是有效提交又是有效路径。在这种情况下,您可以使用git diff foo --来指示这foo是一次提交,或git diff -- foo指示那foo是一条路径。