# 各フラグを初期化 file= verbose= quiet= long= while getopts f:vql opt do case "$opt" in "f") file=$OPTARG ;; "v") verbose=true ;; "q") quiet=true ;; "l") long=true ;; esac done # オプションをすべて削除し、引数だけ残す shift $((OPTIND -1 )) # 各フラグを初期化 file= verbose= quiet= long= # 自分でエラー処理を行うために、先頭にコロンを指定する while getopts :f:vql opt do case "$opt" in "f") file=$OPTARG ;; "v") verbose=true ;; "q") quiet=true ;; "l") long=true