मुझे तर्क के पास एक यूनिक्स स्क्रिप्ट का प्रयोग करना है:
। / Script.sh -c "abc" -d "def" -k "abc -d -c"
जहां के लिए तर्क:
-
-c
= "abc" -
-d
= "def" -
-k
= "abc -d - C "
मैं Uunix शैल स्क्रिप्ट में विकल्पों को कैसे संभाल सकता हूँ?
getopts
:
# -F अंतिम संस्करण का उपयोग करते हुए कुछ विकल्प हैंडलिंग (संस्करण को तारीख संलग्न नहीं करें) # -s प्रत्यय जोड़ें '-sufix' जोड़ें संस्करण संख्या # -वी प्रिंट संस्करण के बाद और बाहर निकलें # -एच प्रिंट करें और # -जे jdcfile प्रोजेक्ट के लिए जेडीसी फ़ाइल से बाहर निकलें - आवश्यक # -क क्वांट ऑपरेशन # -V वर्बोस ऑपरेशन आरजीईएल = $ (बेसनेम $ 0 .एसए) उपयोग () { गूंज "उपयोग: $ arg0 [-hqvFV] [-s प्रत्यय] -जे jdcfile file.msd" 1 & gt; और amp; 2 निकास 1} त्रुटि () {गूंजती "$ 0: $ *" 1 & gt; और 2 निकास 1} Fflag = suffix = jdcfile = qflag = vflag = no जबकि getopts FVhj: qs: वी opt DO मामले "$ ऑप्ट" में (एफ) Fflag = "- F" ;; (वी) "संस्करण की जानकारी" गूंज ;; (एच) "सहायता जानकारी" गूंज ;; (जे) jdcfile = "$ OPTARG" ;; (Q) qflag = "- q" ;; (एस) प्रत्यय = "$ OPTARG" ;; (वी) vflag = yes ;; (*) उपयोग ;; एएसएसी ने बदलाव $ (($ OPTIND - 1)) केस # $ (1) में: ठीक ;; (*) उपयोग ;; Esac यदि [-z "$ jdcfile"] तो त्रुटि "आपने निर्दिष्ट नहीं किया है कि किस jdcfile का उपयोग करने के लिए (-जे विकल्प)" fi
स्क्रिप्ट तब जारी है और इसके कार्य के आधार पर यह विकल्प दिया गया था। बदलाव
'खपत' विकल्प को निकाल देता है, सिर्फ फाइल नाम तर्क छोड़कर।
Comments
Post a Comment