मेरे पास एक स्क्रिप्ट है जो कुछ विकल्पों के साथ C ++ एप्लिकेशन चलाता है। मैं जो करना चाहता हूं वह स्क्रिप्ट की विशेषता के रूप में C ++ एप्लिकेशन के विकल्प देना है।
options=$1
...
./app $options
समस्या यह है कि जब मैं जैसे विकल्पों को पारित करने की कोशिश करता हूं
./script "-a -C "9.626 0.262 8.266""
-C विकल्प की विशेषता पूरे स्ट्रिंग के बजाय सिर्फ "" 9.626 "है। किसी भी विचार को कैसे हल किया जाए? :) धन्यवाद।"
उत्तर:
जवाब के लिए 0 № 1आपको एक सरणी का उपयोग करना होगा।
options=( -a -C "9.626 0.262 8.266" )
./script "${options[@]}"
के भीतर script
, $1
है -a
, $2
है -C
, तथा $3
है 9.626 0.262 8.266
। (सूचना उद्धरण का हिस्सा नहीं हैं $3
; वे केवल तर्क को निर्धारित करते समय व्हॉट्सएप की सुरक्षा के लिए उपयोग किए जाते हैं script
। संभवतया, आप तीनों तर्कों को किसी अन्य कमांड में पारित करने का इरादा रखते हैं, और आप ऐसा करेंगे
other_command "$1" "$2" "$3"
या अधिक आम तौर पर, मनमाने ढंग से तर्कों को समायोजित करने के लिए
other_command "$@"