二重ダッシュに関するいくつかの質問を読んだ。
-
単一文字オプションには単一のダッシュがあり、--
単語には二重ダッシュがありますか?
--
(二重ダッシュ)とはどういう意味ですか? (「ネイキッドダブルダッシュ」とも呼ばれる)
しかし、4年前に先生がこれが長いスイッチ(または)--
を処理するPOSIX方式であると言ったことを覚えています。今日、私が使用している多くのコマンドはこの規則にまったく従いません。私が考えることができる最も良い例は、それが非常に迷惑なことです。 --help
--color=
find
AIX find
先生が間違っていますか?それともそれ以降のルールは変更されていますか? (そうではありません。)
最後に、posix
オプションの長さに関する規則はありますか?-
--
答え1
私の考えではPOSIX は長いオプションを定義しません。:
手順3:各オプション名は、移植可能な文字セット(alnum文字クラス)の単一の英数字文字でなければなりません。 -W(capital -W)オプションは、ベンダーオプション用に予約する必要があります。複数桁のオプションは使用できません。
二重ダッシュGNUコンベンションです。
内部にPOSIX ルックアップ定義単一ダッシュを持つ「長いスイッチ」は、オプションの一部ではなく、オペランドとして提供される表現です。
答え2
find
ルールの例外のようです。これは実際にfind
Unixの元のユーティリティ開発者コミュニティの外で始まったため、「long」オプションの使用方法は非標準です。
一般に、標準化は、短期および長期オプションの使用が一般的な慣行になった後にのみ発生します。最大一部は、いくつかのルーチンまたはライブラリを使用してオプションの解析を実行できるためです(したがって、いくつかの非明示的な標準を適用します)。しかし、もちろんその時は変えるには遅すぎました。既存のたとえば、find
スクリプトを中断しないようにプログラムを作成します。 POSIXコンプライアンス(デュアルダッシュを使用)は、これらのスクリプトに違反しないよりも重要です。
tar
たとえば、以前のバージョンとの互換性は、ダッシュを使用または使用せずに短いオプションを指定できる理由でもあります。