TVアニメ「M3~ソノ黑キ鋼~」PV1
アニメ『M3~ソノ黑キ鋼~』(2014)
暗い印象を受けるのは、暗闇のシーンが多いからでしょうか。3話で一旦視聴を中断。つまらなくはないのですが、他に見るアニメがたくさんあるので、休日にとっておこうかと思います。
getoptコマンドの続きで、ロングオプション使います。
ロングオプションを指定するには、-oでショートオプションを指定した上で、-lを使います。ショートオプションがなくても-o “”として指定する必要があります。
takk@deb9:~$ getopt -o "" -l "aaaa" -l "bbbb" -- --aaaa --bbbb --aaaa --bbbb -- takk@deb9:~$
ロングオプションに値を与えるときは、:をつけます。
takk@deb9:~$ getopt -o "" -l "aaaa:" -l "bbbb:" -- --aaaa 3 --bbbb=5 --aaaa '3' --bbbb '5' -- takk@deb9:~$
ショートとロングオプションの混在。
takk@deb9:~$ getopt -o "abc" -l "aaaa:" -- --aaaa 10 -a --aaaa '10' -a -- takk@deb9:~$
ロングオプションが複数ある場合は、,(カンマ)で区切れば一回で指定できます。
takk@deb9:~$ getopt -o "" -l "aaaa:,bbbb:" -- --aaaa 30 --bbbb=50 --aaaa '30' --bbbb '50' -- takk@deb9:~$
:(コロン)をつけた場合は、値を指定しないとエラーになります。
takk@deb9:~$ getopt -o "" -l "aaaa:" -- --aaaa getopt: オプション '--aaaa' は引数が必要です -- takk@deb9:~$
:(コロン)二つの場合は、値は省略可能になります。
takk@deb9:~$ getopt -o "" -l "aaaa::" -- --aaaa --aaaa '' -- takk@deb9:~$ getopt -o "" -l "aaaa::" -- --aaaa 4 --aaaa '' -- '4' takk@deb9:~$
スクリプト内で使ってみましょう。
takk@deb9:~$ cat -n test.sh
1 #!/bin/bash
2 set -- `getopt -o "ab:c" -l "help,version" -- $@`
3 while :;do
4 case $1 in
5 -a)
6 echo "A"
7 ;;
8 -b)
9 echo "B=$2"
10 ;;
11 -c)
12 echo "C"
13 ;;
14 --help)
15 echo "HELP"
16 ;;
17 --version)
18 echo "VER=0.0"
19 ;;
20 --)
21 break
22 ;;
23 esac
24 shift
25 done
takk@deb9:~$
実行。全部オプションをつけてみました。
takk@deb9:~$ ./test.sh --help --version -b99 -ac HELP VER=0.0 B='99' A C takk@deb9:~$


コメント