Tôi có mã này -
#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
Khi tôi chạy bash getoptDemos.sh
(không có tùy chọn), nó sẽ in hi
thay vì gọi hàm usage
. Nó gọi việc sử dụng khi các tùy chọn khác ngoài w, h và l được đưa ra. Sau đó, nó không thể hoạt động khi không có tùy chọn được chỉ định.
Tôi đã cố gắng sử dụng ?
, \?
, :
thay cho *
nhưng tôi không thể đạt được những gì tôi muốn. Tôi có nghĩa là tất cả docs
trên getopt
nói nó để sử dụng ?
.
Tôi đang làm gì sai?
/bin/bash