Eu tenho esse código -
#getoptDemo.sh
usage()
{
echo "usage: <command> options:<w|l|h>"
}
while getopts wlh: option
do
case $option in
(w)
name='1';;
(l)
name='2';;
(h)
name='3';;
(*)
usage
exit;;
esac
done
print 'hi'$name
Quando executo bash getoptDemos.sh(sem a opção), ela é impressa em hivez de chamar a função usage. Ele chama uso quando outras opções além de w, he são fornecidas. Então não pode funcionar quando nenhuma opção é especificada.
Eu tentei usar ?, \?, :no lugar de *mas eu não posso conseguir o que eu queria. Quero dizer toda a docssobre getoptdiz-lo para usar ?.
O que estou fazendo de errado?
/bin/bash