3.3.2 短いオプション形式

ほとんどのオプションには、「短いオプション」(short option)の名前もあります。-t(--listと同じ)のように、1つのハイフンと1文字で構成されます。機能はまったく同じで、互いに置き換えられます。

短いオプション名は、長い名前より素早く入力できます。

引数を必要とする短いオプションでは、オプションの直後に引数を置き、通常は空白で区切ります。間に空白を入れず、短いオプション名に引数を直接続けることもできます。たとえば、--file=archive.tarの代わりに-f archive.tarまたは-farchive.tarと書けます。--file=archive-nameと-f archive-nameはいずれも、特定のアーカイブ(ここではarchive.tarという名前)を指定するオプションです。

任意の引数を取る短いオプションでは、オプション文字の直後に、間に空白文字を入れずに引数を続けます。

短いオプションの文字はまとめて書けますが、古いオプション(後述)とは異なり、まとめる必要はありません。まとめる場合は、tar -cvfのように、全体に対してハイフンを1つだけ付けます。このような組の中で、引数を持てるのは最後のオプションだけです3。

オプションを別々に書く場合は、Unixプログラムの通常の規則と同じく、引数を必要とする各オプションの直後に、その引数を置きます。たとえば、次のとおりです。

$ tar -c -v -b 20 -f /dev/rmt0

短いオプションの位置を並べ替えるなら、それに属する引数も必ず一緒に移動してください。適切に移動しないと、ファイルを上書きしてしまうことがあります。


(3)

多くのオプションをまとめ、最後のものだけに引数を持たせる記述は、かなり分かりにくいものです。GNU getoptは、このような使い方を無効と判定するほど親切であるべきではないか、と考える人もいます。