KSH 스크립트에서 옵션을 강제 적용하는 방법

KSH 스크립트에서 옵션을 강제 적용하는 방법

내 스크립트에서 매개변수를 캡처하기 위한 기본 구조는 다음과 같습니다.

# fMain(){

        while getopts "d:e:h" _OPTION; do
                case $_OPTION in
                d)                              
                        dateVal=$OPTARG
                        ;;
                e)
                        extensionVal=$OPTARG
                        fListArgument "OPN_BYPASS" $OPTARG
                        ;;
                h)
                        fToonHelp
                        ;;
                \?)     echo "Please run '$0 -h' for help"
                        vARG_VLAG="Y"
                        ;;
                esac
        done

        exit 0

옵션 d와 e를 필수로 만드는 방법은 무엇입니까? 채워지지 않은 경우 간단히 오류를 발생시킬 수 있습니다(이진 변수를 사용하여 채워졌는지 확인). 하지만 더 편리한 방법이 있다고 생각했습니다.

답변1

if [ -z "$dateVal" ]; then
           printf "Option -d must be specified\n"
           exit
fi
if [ -z "$extensionVal" ]; then
           printf "Option -e must be specified\n"
           exit
fi

관련 정보