У мене цей код -
#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
Коли я запускаю bash getoptDemos.sh
(без опції), він друкує hi
замість виклику функції usage
. Він називає використання, коли задані інші варіанти, ніж w, h та l. Тоді чи не може він працювати, коли не вказані варіанти.
Я спробував з допомогою ?
, \?
, :
замість , *
але я не можу домогтися того, чого я хотів. Я маю в виду все docs
на getopt
каже , що це використовувати ?
.
Що я роблю неправильно?
/bin/bash