プロが教えるわが家の防犯対策術!

bashを利用しています。
getoptを利用しオプション解析を行おうとしているのですが
あるシェルにオプション(o)を指定したときに以下の動作を行うことはできるのでしょうか?
①$ ./test.sh -o xxxx
>オプションの引数をechoする
②$ ./test.sh -o
>引数が指定されていないとechoする
③$ ./test.sh
> オプションが指定されていないとechoする

オプションの後方にコロン(:)をつけた場合OPTARGで引き渡されたオプションがとれるのはわかるのですが、
②のパターンの場合オプションが指定されていないとエラーになってしまい困ります
オプションの後方コロンを外し、次に指定された文字を引数と解釈したとした場合
getoptでの解析がそこで終了してしまい、他のオプションの解析が行われず困りました。

このようなオプションを実装しようとした場合どのようにbashを記述すべきなのでしょうか?

A 回答 (1件)

getopt では出来ないので、自分で位置パラメーターを解析するしか無いと思います。

    • good
    • 0
この回答へのお礼

やはりそうですよね…
ありがとうございました

お礼日時:2015/02/01 22:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!