在许多shell命令中使用`--`作为分隔符的原因是什么?

时间:2017-12-10 19:19:45

标签: shell

例如。

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

这里使用--的原因是什么?是分开位置参数组,即commitpath?这种解释是否与其他命令使用--

一致

1 个答案:

答案 0 :(得分:3)

此符号的广义使用在POSIX Utility Syntax Guidelines

中指定
  

准则10:   应该接受不是option-argument的第一个getSupportFragmentManager().beginTransaction() .add(R.id.fragment_container, fragment, "tag") .hide(fragment) .commit(); final FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.remove(oldFragment); transaction.show(fragment); transaction.addSharedElement(view, "transitionName"); transaction.addToBackStack(null) .commit(); 参数作为指示选项结束的分隔符。以下任何参数都应被视为操作数,即使它们以&#39; - &#39;开头也是如此。字符。

因此,如果在符合上述指南的工具中将--指定为先前选项,则可以指定以-开头的路径,而无需./这样的前缀

虽然POSIX未指定的工具(例如--)不需要符合标准,但这样做仍然是良好的形式。