getopts

オプションを解析し, $OPT_xxx に値を設定します.

書式:

getopts(single_opts, *opts)

第一引数:

-fや-x(=-fx)の様な一文字のオプションの指定をします. オプションが-fと-xの2つの場合は "fx" の様に指定します. ここでオプションがないときは必ずnilを指定して下さい.

第二引数:

ロングネームのオプションや, 引数を伴うオプションの指定をします. --versionや--geometry 300x400,-d host:0.0 等がこれに該当します. 引数を伴う指定は":"を必ず付ける様にします. この例の場合, "version", "geometry:", "d:"の様になります.
また, オプションを指定しなかった場合のデフォルトの値を持たせたい場合は, ":"の直後にそのデフォルト値を指定します. 例えば, "geometry:80x25" の様になります.

オプション解析:

解析結果は全て "$OPT_指定した引数名" という形で処理されます.
シングルオプションや引数を伴わないオプションが使用された場合は, TRUEがセットされます.
-f → $OPT_f = TRUE
--version → $OPT_version = TRUE
その他はそのオプションの引数がセットされます.
-d pengo:0.0 → $OPT_d = pengo:0.0
--geometry 80x25 → $OPT_geometry = 80x25
-もしくは--を指定した場合, それ以降の解析を行ないません.

戻り値:

実際にセットされたオプションの数を返します. また, 間違ったオプションを指定した場合は, nil を返します.
jammy@shljapan.co.jp