मैं शेल स्क्रिप्ट का उपयोग करके निर्देशिका की सामग्री प्राप्त करने की कोशिश कर रहा हूं।
मेरी स्क्रिप्ट है:
for entry in `ls $search_dir`; do
echo $entry
done
$search_dir
एक सापेक्ष मार्ग कहाँ है। हालांकि, $search_dir
उनके नाम में व्हॉट्सएप के साथ कई फाइलें हैं। उस स्थिति में, यह स्क्रिप्ट अपेक्षित रूप से नहीं चलती है।
मुझे पता है कि मैं उपयोग कर सकता हूं for entry in *
, लेकिन यह केवल मेरी वर्तमान निर्देशिका के लिए काम करेगा।
मुझे पता है कि मैं उस निर्देशिका को बदल सकता हूं, उपयोग कर सकता हूं for entry in *
फिर वापस बदल सकता हूं, लेकिन मेरी विशेष स्थिति मुझे ऐसा करने से रोकती है।
मैं दो संबंधित पथ है $search_dir
और $work_dir
, और मैं दोनों पर काम करने के लिए एक साथ है, पढ़ने के लिए उन्हें बनाने / आदि उन में फ़ाइलों को हटाने
तो अब मैं क्या करूं?
PS: मैं बैश का उपयोग करता हूं।
for entry in "$search_dir/*"
काम क्यों नहीं करते? हमें/*
उद्धरणों से बाहर जाने की आवश्यकता क्यों है ?