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))
を付けること。
んーー。いまいち、しっくりこないが、
これでいけるはず。
もうちょっと、ちゃんと調べないとな
※コメント投稿者のブログIDはブログ作成者のみに通知されます