bash: --argument 対 -arg [重複]

bash: --argument 対 -arg [重複]

ほとんどのスクリプト(主にbash)では、次のように設定されたいくつかのパラメータを表示するのが一般的です。

bash-4.3:$ command --longer-argument -la

これはどこから来たのですか?これが実際に一貫した標準になった理由が何であるか疑問に思います。主に読みやすさのためですか?

また、次のようなものを使用しませんか?

bash-4.3:$ command -longer-argument、ここですべてのCLIパラメータはダッシュとしてのみ指定されていますか?

答え1

これは役に立ちます(tarしかし他のプログラムにも拡張できると思います)。 https://www.gnu.org/software/tar/manual/html_section/tar_21.html

長いオプションは明確で覚えやすくなければならず、その意味は通常、対応する短いオプションよりも識別するのが簡単です(下記参照)。たとえば、

$tar --create --verbose --blocking-factor=20 --file=/dev/rmt0

tar に完全に慣れていない人にも、コマンドが実行する操作のためのかなり良いヒントセットが提供されます。

そしてこのリンクコマンドラインインタフェース標準

以下はGNUの長いオプションの冗談です:https://www.gnu.org/fun/jokes/long-options.en.html

通常、実行すると、command -h/--helpコマンドが提供するオプション(ショート/ロング)が表示されます。

答え2

二重ダッシュが長いダッシュを表し、単一ダッシュが短いダッシュを示さない限り、引数を使用してオプションを明確にすることはできません。

-f file

...引数-fがあるオプションを意味します。file

...そして--ffile議論がなければ、全く別の選択肢になるでしょう。

関連情報