【问题标题】:Conventions for command line verb arguments -a vs --arg命令行动词参数的约定 -a 与 --arg
【发布时间】:2017-02-12 03:05:00
【问题描述】:

我刚刚注意到动词样式命令参数的模式(在 git 和 .NET 的 CommandLineParser 库中),想知道是否有人可以确认:

myprog dothis -a "someArg"

  • -a
  • --arg

单破折号前缀和双破折号前缀有什么区别?单破折号前缀是否始终用于单字母参数说明符,而双破折号前缀始终用于参数的“长名称”?

是否有正式的约定可以推动这一点,还是普遍接受的非正式做法? (或者我只是在虚无缥缈?)

只是好奇...我从未注意到 git 中的模式,并且 CommandLineParser 文档非常薄,并且一些博客文章或其他文章暗示了该约定。

(就此而言......这种动词/参数的风格甚至叫什么?我似乎找不到很多东西)

【问题讨论】:

    标签: command-line command-line-arguments


    【解决方案1】:

    来自维基百科:https://en.wikipedia.org/wiki/Command-line_interface

    类 Unix 系统中的选项约定

    在类 Unix 系统中,ASCII 连字符减号开始选项;新的 (和 GNU)约定是使用两个连字符,然后是一个单词(例如 --create) 在旧约定(并且仍然 可作为常用选项的一个选项)是使用一个 连字符然后是一个字母(例如 -c);如果一个连字符后跟两个或 更多的字母可能意味着指定了两个选项,或者它可能 表示第二个和后面的字母是一个参数(例如 文件名或日期)作为第一个选项。

    两个连字符-减号后面没有字母 (--) 可以 表明剩余的参数不应被视为 选项,例如,如果文件名本身以 连字符,或者如果进一步的参数用于内部命令(例如 须藤)。双连字符减号有时也用于前缀“long 选项”,其中使用了更具描述性的选项名称。这是一个 GNU 软件的共同特点。 getopt 函数和程序,以及 getopts 命令通常用于解析命令行选项。

    【讨论】:

    • 完美,这正是我想要找到的。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 2013-10-23
      • 2012-08-21
      • 2019-12-25
      • 2013-05-18
      相关资源
      最近更新 更多