Você deve usar h|* )
como o último bloco de casos, porque ele corresponde a qualquer coisa antes de verificar -p
.
quando eu corro abaixo do código com a opção p e sem parâmetros, ele vai para outras opções onde como deve executar a declaração de impressão do caso p). o que precisa ser corrigido
Além disso, eu quero que o código execute h | *) bloco quando nenhuma opção é dada. Como conseguir isso.
Código:
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
Execução:
[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
Você deve usar h|* )
como o último bloco de casos, porque ele corresponde a qualquer coisa antes de verificar -p
.