Answers:
另一种约定是使用“-”表示标志的结尾和文件名的开头。至少在RedHat 4上,该行为内置于getopt(3)中。我找不到使用'-'表示参数结尾的Red Hat手册页,它们似乎都使用'-'来完成。在这种情况下,awk手册页带有“-”,因此也许只有旧的“传家宝” Unix或Solaris命令使用“-”作为参数-文件名分隔符。
--
表示选项结束,因此之后的所有操作都是操作数。-
不是一个选择,所以它和之后出现的所有内容都是一个操作数。这是标准行为。对于许多命令,例如tar
,操作数-
表示标准输入或输出。在许多外壳上,set - -a
都等效于set -- -a
,在某些旧的Bourne外壳上set - -a
是唯一接受的形式,但这是set
内置的例外。
--
将选项与参数分开。
tar xfz target.tar.gz
和bziptar xfj target.tar.bz2