マイアプリ/?
myapp -ヘルプ
myapp-ver
等....
GNU コーディング標準は義務付け--version
られており--help
、CLI プログラムがこれらをサポートすることを期待するようになりました。それ以外は、実際にはプログラムが何であるかに依存しますが、ここにいくつかの他の提案があります:-q
または--quiet
出力を少なくする、出力を増やす、または出力-v
をデバッグする。--verbose
-d
--debug
プラットフォームによって異なります。
Windows では、/? または /h または /help が一般的です。
Unix では、コマンドに man ページが必要です。
Gnu の規則に従う Unix バリアント (Linux など) では、 --help および --version に応答する必要があります。さらに良いことに、bash のオートコンプリートと統合できます。
それとは別に、あなたのものと同じ領域にある他のプログラムを見て、それが理にかなっていれば同じオプションを使用してください。例えば:
プログラムがファイル名を引数として受け入れる場合、一般的な規則は、単一のハイフンが「標準入力から読み取る」ことを意味し、二重のハイフンが「ハイフンで始まる場合でも次の引数をファイルとして扱う」ことを意味します。
コマンド ライン引数の短いバージョンと長いバージョン。使用するプログラミング言語のライブラリ ポートがあるかどうかを確認getopt
します。コマンドライン引数の解析に役立ちます。
--config-file=FILE | -C FILE
--help | -h
--usage | -u
--version | -v
アプリケーションに関連するその他のオプションを含めます。
上記のすべての引数に同意しますが、別のことを指摘したいと思います: アプリケーションで、すべての引数に対して long、short、および BSD スタイルを受け入れたい場合があります。もちろん、BSD スタイルを快適に使用できるユーザーがいないと思われる場合は、BSD スタイルを省略することもできます。長いスタイルは、引数に意味を追加するのに役立ち、アプリケーションを使い始めるときに覚えやすくなります。
ヘルプ、バージョン、出力詳細設定のオプションを用意することをお勧めします。他のスイッチは、アプリケーションによって異なります。
-h は *nix では必須です。/? についても同じことが言えます。ただし、両方のプラットフォームで利用可能なプログラムは、通常 *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"
Eric S. Raymond は、著書The Art of Unix Programmingで、最も一般的な UNIX コマンド ライン オプションの概要を説明しています。ほとんどの場合、1 文字のオプションについて説明していますが、それにもかかわらず、それに関する優れたリソースです。