コマンドの「-」と「-」の違いは何ですか?


13

Linuxコマンドまたは他のインストール済みLinuxプログラムが続く単一ダッシュ-または二重ダッシュ--がよく表示されます。

シングルダッシュとダブルダッシュの違いは何ですか?

略語だけですか?たとえば、ほとんどの時間を-v意味し--verboseます。


回答:


15

それは慣習の問題です。通常、POSIX標準プログラムには単一の文字オプションのみがあり、それらにはすべて単一のハイフンが先頭に付いています。長いバージョンは、わかりやすくするためにGNUを改良したものであり、通常は先頭に二重ハイフンが付いています。これは、オプションの解析に使用されるライブラリとプログラムで確認できます- getoptおよびgnu-getoptそれぞれ。GNUおよびPOSIXに準拠していないプログラムは、まったく別のことをする可能性があります。引数の長い形式がプログラムごとに同じであるかどうかは本当に確信できないことに注意してください。-f通常はを意味しますが--forceapt-get install一般的な誤解ではありません。-vバージョンを意味する場合があります-通常、または--verbose、など。マニュアルページまたはその他のドキュメントを確認してください。もご覧くださいgetoptに関するウィキペディアの記事。これはすべて、Linuxの10年以上前のものです。

ddは、ハイフン付きのオプションをまったく持たないPOSIX標準ユーティリティの例です。は、単一のハイフンを含む単語オプションを持つPOSIX標準ユーティリティの典型的な例です- のオプションのほとんどすべてが複数文字の長さです。複数のオプションスタイルをサポートします。findfindps

This version of ps accepts several kinds of options:

1   UNIX options, which may be grouped and must be preceded by a dash.
2   BSD options, which may be grouped and must not be used with a dash.
3   GNU long options, which are preceded by two dashes.

GNUtarは複数のオプションスタイルもサポートしています。

使用上の問題として、スクリプトが互換性のある環境で実行されることが確実な場合は、スクリプトの長いオプションを選択してください-デバッグの際の明瞭さの向上は祝福です。移植性のために、短いオプションが優先されます。


本当にいい答えだ。THX。
鵬張

4

通常、- とpacman -Syu同等のように、オプションは一緒に連鎖させることができ、オプションは通常、次のようにpacman -S -y -uパラメータを取ります./configure --prefix=/usr

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.