यदि निम्न उदाहरण, जो IFS
लाइन चर चरित्र के लिए पर्यावरण चर सेट करता है ...
IFS=$'\n'
- क्या करता डॉलर साइन मतलब बिल्कुल ?
- इस विशिष्ट मामले में यह क्या करता है?
- मैं इस विशिष्ट उपयोग पर अधिक कहां पढ़ सकता हूं (Google खोजों में विशेष वर्णों की अनुमति नहीं देता है और मुझे नहीं पता कि अन्यथा क्या देखना है)?
मुझे पता है कि IFS
पर्यावरण चर क्या है, और \n
चरित्र क्या है (पंक्ति फ़ीड), लेकिन केवल निम्न रूप का उपयोग क्यों न करें:
IFS="\n"
(जो काम नहीं करता है)?
उदाहरण के लिए, यदि मैं किसी फ़ाइल की प्रत्येक पंक्ति के माध्यम से लूप करना चाहता हूं और लूप के लिए उपयोग करना चाहता हूं, तो मैं यह कर सकता हूं:
for line in (< /path/to/file); do
echo "Line: $line"
done
हालाँकि, यह तब तक सही काम नहीं करेगा जब तक IFS
एक पंक्ति फ़ीड वर्ण पर सेट नहीं किया जाता है। इसे काम पर लाने के लिए, मुझे यह करना होगा:
OLDIFS=$IFS
IFS=$'\n'
for line in (< /path/to/file); do
echo "Line: $line"
done
IFS=$OLDIFS
नोट: मुझे एक ही काम करने के लिए दूसरे तरीके की आवश्यकता नहीं है, मैं पहले से ही कई अन्य को जानता हूं ... मैं केवल इसके बारे में उत्सुक हूं $'\n'
और अगर कोई मुझे इस पर स्पष्टीकरण दे सकता है तो मुझे आश्चर्य होगा।
\n
सिर्फ एक (बच गया) अक्षर n है। आप सही हैं'\n'
और"\n"
n के बाद बैकलैश हैं।