क्यों नहीं ksh unpaired उद्धरण करते हैं जबकि bash नहीं करता है?



shell awk (1)

जब मैं निम्नलिखित कमांड निष्पादित करता हूं, तो बैश शेल पर मुझे गलती होती है, लेकिन कॉर्न शेल पर यह पूरी तरह ठीक है। केवल अंतर में awk के अंत में, के बाद एकल उद्धरण गुम है I क्या आप मुझे समझने में मदद कर सकते हैं?

echo `echo "a b c d" | awk '{ print $1 }`

कॉर्न शेल में, दोनों तरह की टिक और उद्धरणों को बेजोड़ छोड़ दिया जा सकता है, टोकनेइज़र यह कोशिश करेगा और अनुमान लगाएगा कि कहां या तो खत्म होगा और उनके अनुसार मिलान होगा।

उदाहरण:

/home/ufierro # echo "`echo ah" 
+ echo ah
+ echo ah
ah

/home/ufierro # echo `echo 'hello world` 
+ echo 'hello world'
+ echo hello world
hello world

ध्यान दें कि दोनों उदाहरण ऊपर उल्लेखित व्यवहार के लिए एक अलग मामला दिखाते हैं। पहला उदाहरण बताता है कि, कैसे एक एकल वापस डबल उद्धरण चिह्नों के भीतर टिक पार्सिंग के दौरान पूरा किया गया था और दूसरा उदाहरण दिखाता है कि कैसे पीछे की टिक टिक में एक भी बोली को पूरा किया गया था।





ksh