function readArgs() {
while getopts "i:o:p:s:l:m" OPTION; do
case "$OPTION" in
i)
input="$OPTARG"
;;
o)
output="$OPTARG"
;;
...
esac
done
}
readArgs
if [[ -z "$input" ]]; then
echo "Not set!"
fi
यह हमेशा मुझे Not set!
दे रहा है लेकिन अगर मैं लाइनों function readArgs() {
, }
और readArgs
बाहर टिप्पणी, यह काम करता है। क्यूं कर?फ़ंक्शन के भीतर 'गेटोप्स' क्यों काम करने में विफल रहता है?
इसके अलावा,
input="$OPTARG"
echo "$input"
;;
काम नहीं करता।
यह केवल आवश्यक है एक से अधिक आमंत्रण हैं:
साथ प्रयास करें समारोह का –
ओपी ने समारोह के कंटेनर का वर्णन नहीं किया था। मैं अपने .bashrc –
में लिखने वाले कार्यों के लिए इन विधियों का उपयोग करता हूं, हालांकि इस उत्तर ने ओपीएस प्रश्न का सीधे जवाब नहीं दिया है, यह एक खोज में आया है कि क्यों गेटॉप्स फ़ंक्शन में काम नहीं करता है, और मेरे कोड को डीबग करने में बहुत उपयोगी था (मेरे .bashrc में फ़ंक्शंस के लिए भी) – paulski