goo blog サービス終了のお知らせ 
goo

bash getoptコマンド


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))

を付けること。

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

もうちょっと、ちゃんと調べないとな
コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« bash これはよむ awk match関数... »
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。