为什么命令行现在每个参数后面都有两个连字符(-)?它起源于何处,为什么不使用单个连字符?

TLD*_*LDR 1 javascript node.js .net-core asp.net-core

.NET Core和几个javascript库现在似乎对每个命令行参数使用两个连字符。

为什么现在突然发生这种情况?

它有任何(历史)意义吗?

为什么不只使用一个连字符?(我们要遵循什么约定?xNix?)

Cid*_*Cid 5

什么是悫单划线和双横线标志shell命令有什么区别?(服务器故障)

单个连字符后可以跟多个单个字符标志。双连字符为单个多字符选项加上前缀。

考虑以下示例:

tar -czf在这个例子中,-czf指定了三个单字符标志: cz,和f

现在考虑另一个示例:

tar --exclude在这种情况下,请--exclude指定一个名为排除的单个多字符选项。双连字符的歧义消除命令行参数,确保焦油将其解释为排除,而不是的组合exclud,和e