2013-04-19 8 views
6

का उपयोग करते समय अंत में मुझे खोल में getopt कमांड का उपयोग करने के लिए उदाहरण स्क्रिप्ट मिली है।"के लिए" बिना "अनुक्रम में" अंत में "getopt

#!/bin/bash 
args=$(getopt ab $*) 
set -- $args 
for i; 
do 
    case "$i" in 
    -a)shift; echo "it was a";; 
    -b)shift; echo "it was b";; 
esac; 
done 

यह अच्छी तरह से काम करता है, लेकिन मुझे समझ में नहीं आता कि मैं कहां परिवर्तनीय $ है। यह कैसे जानता है कि यह $ Arg के माध्यम से फिर से शुरू होना चाहिए। क्या आप इसे समझा सकते हैं?

+0

'bash' मैन पेज 'के लिए' लूप के विवरण के तहत हो सकता है। – chepner

उत्तर

11

जैसा कि here दिखाया गया है, for[email protected] पर डिफ़ॉल्ट in seq दिया गया है। for i आपके $i चर निर्दिष्ट करता है।

संबंधित मुद्दे