我见过许多教程使用--
after 命令。例如:
command --
这是什么--
意思?
答案1
用于--
指示命令行选项的结束。这使您可以使用以 开头的参数--
。例如,如果您创建一个名为 的文件--foo
:
$ > '--foo'
$ ls
--foo
然后尝试删除它,rm
会认为你给它一个参数:
$ rm --foo
rm: unrecognized option '--foo'
Try 'rm ./--foo' to remove the file '--foo'.
Try 'rm --help' for more information.
解决这个问题的一种方法是使用--
:
$ rm -- --foo
这是常见的做法,POSIX 推荐,因此得到很多程序的支持。
答案2
大多数命令都会使用 -- 来告诉命令其他参数应以不同方式处理。一个例子就是上面提到的 rm -- --filename。另一个例子是,像“startx”这样的脚本会自行解释 -- 之前的所有内容,并将其后的所有内容传递给 X 服务器。