while getopts d:p:v opts; do case ${opts} in d) dddd=${OPTARG} ;; p) pppp=${OPTARG} ;; v) vvvv='flag on' ; esac done echo d=$dddd echo p=$pppp echo v=$vvvv
long parameters를 사용하려면 getopt가 쉽다 하지만 호환성이 낮다. getopts를 이용하는 방법(아래)도 있으나 덜 깔끔하다.
while getopts d-: opts; do case ${opts} in -) case "${OPTARG}" in docker) echo Docker ;; *) echo "Unknown option --${OPTARG}" >&2 ;; esac ;; d) dddd=true ;; esac done echo d=$dddd