Você realmente só precisa verificar :
e ?
com getopts
em bash
se você usar relatórios de erros silenciosos (quando o primeiro caractere de optstring
for dois pontos).
Quando getopts
não for usado dessa forma, ele produzirá suas próprias mensagens de diagnóstico para opções inválidas e para argumentos de opção ausentes (e geralmente são bastante adequados). Na verdade, ele não colocará :
ou ?
na variável, a menos que seja silenciado.
Usar *
em uma declaração de caso seria uma maneira de capturar ambos, mas se getopts
for silenciado, você não saberia qual erro foi acionado e seria capaz de dizer algo nas linhas de an error occurred while parsing the command line options
para o usuário.