Adicionar uma opção padrão à instrução case
não ajudará porque ela não será executada se getopts
não tiver opções para analisar. Você pode ver quantas opções foram processadas com a variável OPTIND
shell. De help getopts
:
Each time it is invoked, getopts will place the next option in the
shell variable $name, initializing name if it does not exist, and
the index of the next argument to be processed into the shell
variable OPTIND. OPTIND is initialized to 1 each time the shell or
a shell script is invoked.
Portanto, se OPTIND
for 1, nenhuma opção foi processada. Adicione isto após o seu loop while
:
if (( $OPTIND == 1 )); then
echo "Default option"
fi