У меня есть этот код -
#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