おぼえがき

おぼえがき

bash getoptコマンド

2007-01-18 | bash

getoptsを使ってみる。

while getopts ":abd:h" options
do
  case $options in
    a | b) 何らかの処理;;  # comment
    d   ) OPTDATE=${OPTARG};;  # comment
    h | *) _usage;exit;;     # comment
  esac
done
shift $(($OPTIND -1))


ってやってみる。

オプション
a
b
h
には、オプションに対する引数はない。

d
には、dの後ろに:がついてるんで、引数があるってこと
になる。
引数は、${OPTARG}で取得することができる。

h|*
は、ヘルプを表示する。
abdの先頭に:がついているのは、自分で、オプション以外の
物が来たときにハンドリングするという宣言。
:が先頭になければ、getoptsがエラーハンドリングする。

次に、
shift $(($OPTIND -1))
の処理について・・・

${コマンド}-a -b -d hogehoge -h XYZ 123
ってやったとき
getoptsコマンド終了後、次は、残りの引数を
処理したい。ここで言えば、XYZ 123
オプション部分のみを切り取りたいので
shift $(($OPTIND -1))

を付けること。

んーー。いまいち、しっくりこないが、
これでいけるはず。

もうちょっと、ちゃんと調べないとな

最新の画像もっと見る

コメントを投稿