Linux/GNU コマンド ライン インターフェイスは、POSIX 標準に準拠しています。これは、GNU の標準 (http://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html) に記載されています。
--long-options は GNU イノベーション IIRC ですが、コマンド ライン構文も Single Unix 仕様の一部です。
ここを参照してください:http://pubs.opengroup.org/onlinepubs/7908799/xbd/utilconv.html
しかし、はい、この標準は getopt として実装されています。
スレッドの簡単な要約:
-
CLI は、パラメーターが欠落しているか正しくない場合に、エラー メッセージがある場合はヘルプを表示する必要があります。
-
-
を使用する必要があります 1 文字のフラグまたはオプションと--
の場合 長いオプションの場合、たとえば-a
と--all
-
すべてのプログラムは、次の 2 つの標準オプションをサポートする必要があります:
-v
--version
および-h
--help
.-h
と--help
=> 使用方法のメッセージを表示して終了-v
と--version
=> プログラムのバージョンを表示して終了
この回答で提供されているリンク (IEEE および GNU getopt) を参照してください https://stackoverflow.com/a/8957246
一般的に、はい。
- IEEE
- GNU getopt
ESR は、彼の著書「The Art of UNIX Programming」で、これに関する多くの情報を収集しています。ここにスニペットがあります。
<ブロック引用>
-a
すべて (引数なし)。 GNU スタイルの --all オプションがある場合、-a がそれと同義ではないというのは、非常に驚くべきことです。例:fuser(1)、fetchmail(1)。
tar(1) のように追加します。これは多くの場合、削除の -d と組み合わせて使用されます。
-b
バッファーまたはブロックのサイズ (引数付き)。重要なバッファ サイズを設定するか、(ストレージ メディアのアーカイブまたは管理を行うプログラムで) ブロック サイズを設定します。例:du(1)、df(1)、tar(1)。
バッチ。プログラムが本質的に対話型である場合は、-b を使用して、プロンプトを抑制したり、人間のオペレーターではなくファイルからの入力を受け入れるのに適した他のオプションを設定したりできます。例:flex(1).
-c
コマンド (引数付き)。プログラムが通常標準入力からコマンドを受け取るインタープリターである場合、-c 引数のオプションは 1 行の入力としてプログラムに渡されることが期待されます。この規則は、シェルおよびシェルのようなインタープリターに対して特に強力です。例:sh(1)、ash(1)、bsh(1)、ksh(1)、python(1)。以下の -e を比較してください。
チェック (引数なし)。コマンドの file 引数が正しいことを確認しますが、実際には通常の処理は実行しません。コマンド ファイルの解釈を行うプログラムで、構文チェック オプションとして頻繁に使用されます。例:getty(1)、perl(1)。
http://catb.org/~esr/writings/taoup/html/ch10s05.html で完全なリストを参照してください