bashシェル関数でオプション解析する

すごく簡単に。

以下を参考。

まとめるとこんな感じ。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
w ()
{
OPTIND_OLD="$OPTIND";
OPTIND=1;
POSTFIX="";
function usage_exit ()
{
echo "Usage: hw [-a] [-p text]"
};
while getopts ap:h OPT; do
case $OPT in
a)
pwd
;;
p)
POSTFIX=" $OPTARG"
;;
h)
usage_exit;
return
;;
\?)
usage_exit;
return
;;
esac;
done;
shift $(($OPTIND - 1));
OPTIND="$OPTIND_OLD";
echo "Hollo World!$POSTFIX"
}