जवाबों:
उसी तरह जो आप 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
) दोहरे उद्धरण चिह्नों के अंदर किया जाता है, लेकिन एकल उद्धरण नहीं।