RSS

bashでgetopts

思いだしたようにgetoptsを使った。使い方はこんな感じになる。

#!/bin/bash

while getopts "a:b:cd" opt; do
        case ${opt} in
        a) opt_a="${OPTARG}"
                ;;
        b) opt_b="${OPTARG}"
                ;;
        c) opt_c=true
                ;;
        d) opt_d=true
                ;;
        \?)
                echo "Usage: $0 [ -a arg1 ] [ -b arg2 ] [ -c ] [ -d ]"
                exit 1
                ;;
        esac
done
        
echo opt_a=${opt_a}
echo opt_b=${opt_b}
echo opt_c=${opt_c}
echo opt_d=${opt_d}