जवाबों:
उसी तरह जो आप ls "*.txt"एक सामान्य शेल में नहीं चला सकते हैं, आप इसे किसी सबस्क्रिप्शन में भी नहीं चला सकते हैं। जब आप *.txtउद्धरणों में डालते हैं , तो आप lsएक शाब्दिक फ़ाइल को खोजते हैं जिसे *.txtतब बुलाया जाता है जब आपको ऐसा करना चाहिए:
$ echo $(ls *.txt) # => file.txt otherfile.txt
ऐसा करने का एक बेहतर तरीका यह है कि इसका उपयोग न किया जाए ls।
$ echo *.txt # => file.txt otherfile.txt
ls।
ls -l "*.txt"। या कम से कम मैं कर सकता हूं। मैं अक्सर ऐसा नहीं करता हूं, लेकिन जब मैं करता हूं, तो यह आमतौर पर मुझे बताता है कि यह * .txt नहीं मिल सका ...
bashऔर इसी तरह के गोले जैसेzsh) एकल उद्धरण के समान नहीं हैं! उदाहरण के लिए, पैरामीटर विस्तार ($foo) दोहरे उद्धरण चिह्नों के अंदर किया जाता है, लेकिन एकल उद्धरण नहीं।