0

コマンドラインから引数を取る実行可能スクリプト(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

オプション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

推奨される構文何ですか?またはあなたは何をお勧めしますか?そしてそれは状況やスクリプトが何のために使われるかに依存しますか?

4

1 に答える 1

1

私はperlについてあまり知りませんが、ルビーの世界(そして私が観察できるUNIXの残りの部分)では、これが最も受け入れられているイディオムのようです:

myPerlScript --myarg1 10 --myarg2 42

シングルダッシュとダブルダッシュには違いがあります。一部のコマンドには、long(完全なコマンド名)とshort(簡潔にするために1文字)の2つの形式があります。ダブルダッシュは長い形式の場合、シングルダッシュは短い形式の場合です。実際の例:

mysql --user root
mysql -u root

長い形のシングルダッシュを使うと人々を驚かせるでしょう。それをしないでください:)

また、この優れた本をお勧めすることもできます。Rubyで素晴らしいコマンドラインアプリケーションを構築する。それはあなたにとってあまり価値がないでしょうが、それはperlではなくrubyにあるからです。

于 2012-09-02T14:58:59.643 に答える