パラメータとオプション

13.2. パラメータとオプション

コマンドのパラメータやオプションを使って、細かい指示を与えます。 これによりコマンドの動作を調整することができます。

パラメータ #

まず、パラメータを指定する例を見てみます。

前節で使った cal をもう一度使ってみましょう。cal はパラメータとして「年」をとることができます。今回は 2023 というパラメータをつけて 2023 年すべてのカレンダーを出力させてみます。以下のように入力してください。

cal 2023

コマンド名 cal とパラメータ 2023 の間は で区切って、最後に を押します。すると次のような出力が得られます。

cal 2023
                            2023
         1月                    2月                    3月
日 月 火 水 木 金 土  日 月 火 水 木 金 土  日 月 火 水 木 金 土
 1  2  3  4  5  6  7            1  2  3  4            1  2  3  4
 8  9 10 11 12 13 14   5  6  7  8  9 10 11   5  6  7  8  9 10 11
15 16 17 18 19 20 21  12 13 14 15 16 17 18  12 13 14 15 16 17 18
22 23 24 25 26 27 28  19 20 21 22 23 24 25  19 20 21 22 23 24 25
29 30 31              26 27 28              26 27 28 29 30 31
(以下略)

うまく2023年すべての月が表示されたでしょうか? お望みならば、1723 年とか 2312 年などのカレンダーを表示させることもできます。このようにコマンドの後ろにスペースを空けてパラメータを入力することによって、ユーザの意図する値を渡すことができるのです。ちなみに、前節で cal とだけ打ったときは今月のカレンダーが出ました。これはパラメータを省略したときは、cal コマンドが今月のカレンダーを出すように設計されているからです。

exercise
1752年9月の日曜日の数は … 回です。(ヒント:ターミナルで、cal 9 1752として調べてみましょう)
  • 2
  • 3
  • 4
  • 5

オプション #

次に、オプションを指定する例を見てみます。以下のように入力してみて下さい。

cal -y

今年のすべての月が表示されたでしょうか?

cal というコマンドは -y というオプションをつけることで、1 年分のカレンダーを表示できます。このようにハイフン - のあとに指定する文字を、オプションといいます。オプションによって、コマンドの動作は色々変わります。

ハイフン - に似た文字に、アンダースコア _ や日本語入力で変換した文字 などがあります。厳密にハイフン -をうつ必要があります。

複数のオプション指定 #

複数のオプションを同時に指定することもできます。たとえば次の例では、cal コマンドに -y オプションと -j オプションを同時に指定しています。-j オプションは、ある日付が 1 月 1 日から数えて何日目であるかを表示するオプションです。

cal -y
                         2023
            1月                           2月
 日  月  火  水  木  金  土   日  月  火  水  木  金  土
  1   2   3   4   5   6   7               32  33  34  35
  8   9  10  11  12  13  14   36  37  38  39  40  41  42
 15  16  17  18  19  20  21   43  44  45  46  47  48  49
 22  23  24  25  26  27  28   50  51  52  53  54  55  56
 29  30  31                   57  58  59
(以下略)

同時に複数のオプションを指定するには、-y -j とスペースで区切って並べてもよいですし、-yj のように一度に書いてもよいです。オプションにおいても、コマンド名と同様、大文字と小文字は区別されます。

オプションとパラメータの指定 #

コマンドはオプションとパラメータを同時にとることもできます。その場合は、「コマンド名 + オプション + パラメータ」の順番に入力をします。たとえば

cal -j 2023

と入力すると、2023 年のカレンダーが、日付が「1 月 1 日から数えて何日目であるか」という形で表示されるはずです。

オプションとパラメータは似た機能を持ち、使い分けは設計者のデザインによります。年のようにある程度の自由入力での表現が適するものはパラメータで、動作を切り替えるスイッチのような機能をオプションで与えることが多いです。

言語の切り替え #

国際化された環境では、表示言語を切り替えることができます。 コマンド名 cal の前に LANG= に続けて、対応する文字列をあたえると表示言語が切り替わります。 ここでは鑑賞するだけで問題ありません。 詳しい仕組みの説明は (まだ早いので) 後の章 25.2. 環境変数 で紹介します。

LANG=en_US.UTF-8 cal
     March 2023       
Su Mo Tu We Th Fr Sa  
          1  2  3  4  
(以下略)
LANG=fr_FR.UTF-8 cal
      Mars 2023        
Di Lu Ma Me Je Ve Sa  
          1  2  3  4  
(以下略)

月の名前や曜日の名前が変化しました。

ターミナル パラメータとオプション ファイルやフォルダの指定