shcell을 시작할 때 옵션 값을 얻고 싶습니다. 나는 썼다:
optstring=hcnxl:
V=0
while getopts $optstring opt; do
case $opt in
h) V=1 ;;
c) V=2 ;;
n) V=3 ;;
x) V=4 ;;
l) V=$OPTARG ;;
*) echo -e "wrong synthax" && exit 1 ;;
esac
done
shift $((OPTIND-1))
echo :: ${OPTARG} : $OPTARG
-l <n>
하지만 옵션을 사용하여 스크립트를 실행하면 항상 비어 있습니다.
내가 뭘 잘못했나요?
감사해요
답변1
마지막 줄을 다음으로 변경하십시오.
echo "$V"
이미 옵션을 순환했기 때문에 shift
아무것도 필요하지 않습니다 .while getopts