【问题标题】:Are there any standard Command line conventions for dashes and arguments? [duplicate]破折号和参数是否有任何标准的命令行约定? [复制]
【发布时间】:2011-12-19 10:43:21
【问题描述】:

关于何时使用 2 个破折号、1 个破折号或根本不使用任何选项并按顺序读取输入的命令行约定是什么?

我知道有很多变体,但有什么约定可以作为行业标准脱颖而出(比如在 Java、C 或 Python 中)?

【问题讨论】:

标签: java python unix command-line-arguments


【解决方案1】:

阅读 Python 的 optparse 模块的 background section,它回答了您的一些问题,并举例说明了一些常见的参数格式化标准。 optparse 模块作者推荐的样式大致对应于POSIX conventions for command line arguments,并添加了来自 GNU 编码标准的 --double-dashed-long-arguments。

【讨论】:

    【解决方案2】:

    这取决于你的口味。

    Unix 约定是命令有两种形式:长和短(一个字符)。为了表示长格式,我们使用 2 个破折号 --。例如--install。短格式用一个破折号标记,例如-i.

    但没有例外,没有规则。例如 java 本身的命令行选项不遵循这个约定:-cp-classpath 含义相同,并且都只用一个破折号标记。 -version 没有短别名等。

    斜线用于 Windows 应用程序。

    作为 java 开发人员,我更喜欢使用与平台无关的约定(破折号)。此外,各种库(如来自 jakarta 项目的cli)都支持破折号,因此更容易实现。

    【讨论】:

      【解决方案3】:

      我同意@Nishant,单破折号是更详细选项的简写符号。
      请参阅 Apache Commons CLI http://commons.apache.org/cli/usage.html#ls_Example 给出的 ls 示例

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-24
        • 1970-01-01
        • 1970-01-01
        • 2012-02-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多