Mam ten kod -
#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
Kiedy uruchamiam bash getoptDemos.sh
(bez opcji), drukuje hi
zamiast wywoływać funkcję usage
. Wywołuje użycie, gdy podano opcje inne niż w, h i l. To nie może działać, gdy nie określono żadnych opcji.
Próbowałem za pomocą ?
, \?
, :
w miejscu *
, ale nie mogę osiągnąć to, co chciałem. Mam na myśli, że wszystko wskazuje docs
na getopt
to, aby używać ?
.
Co ja robię źle?
/bin/bash