Ho questo codice -
#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 corro bash getoptDemos.sh
(senza l'opzione) stampa hi
invece di chiamare la funzione usage
. Chiama l'utilizzo quando vengono fornite opzioni diverse da w, heel. Quindi non può funzionare quando non vengono specificate opzioni.
Ho provato ad utilizzare ?
, \?
, :
al posto di *
, ma non riesco a ottenere quello che volevo. Voglio dire, tutto il docs
su getopt
dice che da usare ?
.
Che cosa sto facendo di sbagliato?
/bin/bash