bash - getoptsコマンド

シェルスクリプトのオプションを解析したりチェックするためのコマンド。
command [-f] [-v value] というシェルスクリプトがあるとします。

FLAG=FALSE               #fオプションが指定されたかのフラグ
VALUE=                   #vオプションの引数を代入する
OPT=                     #getoptsが使用する、オプションを順番に代入する
while getopts fv: OPT    #fvは使用するオプションを並べたもの、:は引数を必要とするもの
do                       #OPTにオプションを順番に代入していく
    case $OPT in
        f) FLAG=TRUE
            ;;
        v) VALUE=$OPTARG #OPTARGはgetoptsが使用する、オプション引数をVALUEに代入
            ;;
        \?) echo "Usage; $0 [-f] [-v value]" 1>&2  #エラーメッセージ
            exit 1
            ;;
    esac
done
shift `expr $OPTIND -1`  #OPTINDは位置パラメータ、最初の引数をを指すようshiftする

引数の処理

#引数が2つの場合
if [ $# -ne 2 ]; then #引数の個数をチェック
    echo "Usage: ..."
    exit 1
fi
val1=$1
val2=$2

#引数の個数が決まっていない場合
while [ $# -gt 0 ]
do
    val1=$1  #位置パラメータをshiftさせ、値を順に代入
    shift
    ...
done