![KSH 스크립트에서 옵션을 강제 적용하는 방법](https://linux55.com/image/4051/KSH%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%98%B5%EC%85%98%EC%9D%84%20%EA%B0%95%EC%A0%9C%20%EC%A0%81%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
내 스크립트에서 매개변수를 캡처하기 위한 기본 구조는 다음과 같습니다.
# 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