인수 없이 옵션 p를 사용하여 아래 코드를 실행하면 케이스 p)의 인쇄 문을 실행해야 하므로 다른 옵션으로 이동합니다. 고쳐야 할 것
또한 옵션이 제공되지 않을 때 코드가 h|*) 블록을 실행하도록 하고 싶습니다. 구현 방법.
암호:
while getopts ":vhp:" Option; do
case ${Option} in
v )
print -- "${ScriptVersion}" 2>/dev/null
exit 0
;;
p )
AbsPackageName="${OPTARG}"
if [[ -z ${AbsPackageName} ]]; then
print -- "Missing Information.Please provide Package Name details."
exit 2
fi
;;
h|* )
print -- "USAGE: ${ScriptName} -p [Absolute path of Package Name]" 2>/dev/null
print -- "Parameter Descriptions:" 2>/dev/null
print -- "-v ) Script Version" 2>/dev/null
print -- "-h ) Show this usage message" 2>/dev/null
exit 0
;;
esac
done
구현하다:
[root@localhost Desktop]# ./pkg2.ksh -p
USAGE: pkg2.ksh -p [Absolute path of Package Name]
Parameter Descriptions:
-v ) Script Version
-h ) Show this usage message
답변1
h|* )
이전에 확인한 내용과 일치하므로 이를 마지막 사례 블록으로 사용해야 합니다 -p
.