java -versionについて混乱している

java -versionについて混乱している

Unixのすべてのプログラム/ユーティリティについて、次のようにプログラム名の後に--versionを入力してバージョンを確認します。

program --version

私が正しく理解した場合、ダブルダッシュ - は -version ではなく version という単一のオプションを指定するために使用されます。これは7つのオプションv、e、r、s、i、o、nを意味します。それでは、Javaとjavacの場合、-versionとダッシュを使用する必要があるのはなぜですか? Java --versionも機能しません。誰かが私にこれを説明できますか?よろしくお願いします。

答え1

根本的な問題は各アプリケーションは独自のパラメータ解析を実装します。これはすべての個人/組織可能形式を標準化しますが、誰もが単一の標準に従うように説得することはできません。

状況をさらに悪化させるいくつかの歴史的問題がある。

  • BSDツールとPOSIXは通常、圧縮-v形式のみをサポートします。
  • --versionGNUツールはPOSIXで拡張されており、人間が読める形式もサポートしています。-versionあいまいなのでサポートできませんでした。
  • マイクロソフトはハイフンの代わりにスラッシュを先行文字で標準化しました。彼らはWindows用のコアツールをすべて開発しているので、基本的にパラメータの解析を指示します。これはより均一であることを意味します。
  • 一部の組織ただ人間が読めるオプションをサポートしているため、入力を節約するために単一のハイフンを前に付けることができます。

関連情報