मेरे पास यह कोड है -
#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