这个shell命令中的“ – ”(double dash)是什么意思?

我有这个shell命令:

kill `cat -- $PIDFILE` 

双倍在这里做什么? 为什么不使用

 kill `cat $PIDFILE` 

--告诉cat不要试图parsing后面的命令行选项。

举一个例子,如果variables$PIDFILE被定义为PIDFILE="--version" ,那么想一下在这两种情况下会发生什么。 在我的机器上,他们给出了以下结果:

 $ cat $PIDFILE cat (GNU coreutils) 6.10 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Torbjorn Granlund and Richard M. Stallman. $ cat -- $PIDFILE cat: --version: No such file or directory