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:~$
コメント