getoptコマンドを利用したオプション解析の例

スポンサーリンク

ここでは、util-linux版のgetoptコマンドを利用します。
getoptコマンドはシェルスクリプトの引数を渡す必要があります。
基本的に

のような構文で利用できます。また、-nオプションでプログラム名を入れるとエラーメッセージでそのプログラム名を表示してくれます。

また、互換モードとして

の構文で利用すると、コマンドの出力に引用符がつかなくなり、evalコマンドで引数をセットし直すときに問題が起きる可能性があります。
例えば、引用符がある例とない例は以下のようになります。

以下はgetoptコマンドを利用したオプション解析の例になります。

getopt_analyze.sh

このプログラムの実行結果は以下のようになります。

実行結果

オプションの引数が任意だった場合の指定方法

また、'::'でオプションに引数をつけるかつけないかの任意にすることができます。
その場合のオプションの引数の指定方法は以下のような方法になります。

ショートオプション形式ではオプションのすぐ後にオプションの引数をつけます。
ロングオプション形式では'='をつけて、オプションの引数をつけます。