作業ノート

様々なまとめ、雑感など

bashスクリプトでコマンドオプションを解析する

このエントリーの最後でリンクしている各ページの内容を元に、コマンドオプションを解析するサンプルスクリプトを書いた。主に自分用のツールを自作するときに参考にするために書いた。

以下が実行した結果。今のところ、これだけ対応できれば十分。

$ ./getopts.sh
FOO:
BAR:
ARGS:
$ ./getopts.sh -f
FOO:1
BAR:
ARGS:
$ ./getopts.sh -b bar
FOO:
BAR:bar
ARGS:
$ ./getopts.sh -b "foo bar"
FOO:
BAR:foo bar
ARGS:
$ ./getopts.sh hoge
FOO:
BAR:
ARGS:hoge
$ ./getopts.sh -f -b bar hoge baz
FOO:1
BAR:bar
ARGS:hoge baz
$ ./getopts.sh -f -b "bar baz" foobar
FOO:1
BAR:bar baz
ARGS:foobar
$ ./getopts.sh -h
Usage: getopts.sh [-f] [-b dir] [arg ...]
$ echo $?
0
$ ./getopts.sh -b
./getopts.sh: option requires an argument -- b
Usage: getopts.sh [-f] [-b dir] [arg ...]
$ echo $?
1

bashを用いたコマンドオプションの解析は、それぞれの参考元に詳細がまとめられているので、興味がある人はぜひ一読を。

参考