2009-06-13 5 views

答えて

11

GNU Coding Standards委任--version--help私はこれらをサポートするCLIプログラムを期待しています。それ以外は、実際にプログラムの内容にもよりますが、デバッグ出力の場合は-qまたは--quiet、出力の場合は-vまたは--verbose-dまたは--debugが表示されます。

5

コマンドライン引数のショートとロングバージョン。使用するプログラミング言語のライブラリポートがgetoptであることを確認します。コマンドラインの引数を解析するのに役立ちます。

--config-file=FILE | -C FILE 
--help | -h 
--usage | -u 
--version | -v 

アプリケーションに関連するその他のオプションを含めます。

+0

getoptのヒントありがとうございます –

2

私は、ヘルプ、バージョン、出力冗長設定のオプションがあることをお勧めします。他のスイッチはアプリケーションによって異なります。

8

プラットフォームによって異なります。

Windowsでは、/?または/ hまたは/ helpが一般的です。

Unixでは、コマンドにはマニュアルページが必要です。

Gnuの規則に従っているUnixの亜種(Linuxなど)では、--helpと--versionに応答する必要があります。さらに、bashの自動補完機能と統合することができます。

それ以外は、あなたと同じエリアにある他のプログラムを見て、同じ意味で同じオプションを使用してください。例:

  • -r/- 再帰的なディレクトリを再帰的にダウンする
  • -q/- -v /出力
  • を抑制するために静かに - 冗長、診断出力
  • -nを生成するためにVERBOSE

あなたのプログラムがファイル名を引数として受け入れるならば、1つのハイフンは 'stdinから読む'を意味し、2つのハイフンは '次の引数をファイルとして扱うことを意味するそれはハイフンで始まります。

+0

より正確には、2つのダッシュ( ' - ')は実際にオプションをオペランドから区切ります。つまり、 ' - 'の後のすべての引数をオペランドとして扱い、 'ハイフンで始まっても次の引数をファイルとして扱わない'という意味です。 IEEE Std 1003.1-2001の第12.2節「ユーティリティシンタックスガイドライン」の「ベース定義ボリューム」を参照してください。 –

2

-hは必須*です。私は/と同じことを言っているだろう?しかし、両方のプラットフォームで利用できるプログラムは、通常、* nix形式になります。これはおそらくgetoptと友人のためです。

いくつかの必需品:

-h, --help 
-v, --version 
-u, --usage 

アプリケーションがすべてで任意のファイルを変更する場合:

--dry-run Do not modify any files (but work as if you did) 

アプリケーションが指定した設定ファイルやディレクトリを使用するように設定ファイル、オプションを使用している場合。

非対話的に実行して仕事をするいくつかの主要な操作スイッチ:

mysql --execute="SELECT * FROM ..." 
cmd.exe /C "dir" 
2

エリック・レイモンドは、彼の素晴らしい本The Art of Unix Programmingで最も一般的なUNIXのコマンドラインオプションの偉大な概要を説明します。それはほとんどの場合、一文字のオプションについて語りますが、それにもかかわらず、大きなリソースです。

3

私は上記のすべての引数に同意しますが、別のことを指摘したいと思います。すべての引数に対して、長い、短い、BSDスタイルを受け入れるアプリケーションが必要な場合があります。もちろん、BSDスタイルは、あなたのユーザーの誰もそれを快適に使うことができないと感じるならば、省略することができます。長いスタイルは、引数に意味を加えるのに役立ち、アプリケーションを使い始めるときに覚えやすくなります。

関連する問題