什么是推荐的命令行参数语法?

时间:2012-09-02 14:54:33

标签: bash syntax command-line-arguments

我正在编写一个可执行脚本(perl),它从命令行获取参数。以下是一些不同的语法,我可以想到:

  1. myPerlScript 10 42
  2. myPerlScript myarg1=10 myarg2=42
  3. myPerlScript -myarg1=10 -myarg2=42
  4. myPerlScript myarg1 10 myarg2 42
  5. myPerlScript -myarg1 10 -myarg2 42
  6. 我不喜欢选项1.因为不可能以任意顺序给出参数,或者跳过依赖于默认值的参数。我还想给出2(或3,......)维度参数。以下是一些例子:

    1. myPerlScript myarg 10x20
    2. myPerlScript myarg=10x20
    3. myPerlScript -myarg 10x20
    4. myPerlScript -myarg=10x20
    5. myPerlScript -myarg=10 20
    6. myPerlScript -myarg=10,20
    7. 推荐的语法是什么?或者你会推荐什么?它取决于情况和/或脚本用于什么?

1 个答案:

答案 0 :(得分:1)

我对perl知之甚少,但在红宝石世界(以及我能观察到的其他unix)中,这似乎是最被接受的成语:

myPerlScript --myarg1 10 --myarg2 42

单击和双击之间有区别。有些命令有两种形式:long(完整命令名)和short(单个字母,为简洁起见)。双短划线用于长形,单用于短形式。现实生活中的例子:

mysql --user root
mysql -u root

我会说使用长字形的短划线会让人大吃一惊。不要那样做:)

我也可以推荐这本优秀的书:Building awesome command-line applications in Ruby。虽然它对你来说价值不大,因为它是红宝石,而不是perl。