मैंने पढ़ा कि चीजों को लिखना बुरा है for line in $(command)
, इसके बजाय सही तरीका लगता है:
command | while IFS= read -r line; do echo $line; done
यह बहुत अच्छा काम करता है। लेकिन क्या होगा अगर मैं जिस पर चलना चाहता हूं वह चर की सामग्री है , कमांड का प्रत्यक्ष परिणाम नहीं है?
उदाहरण के लिए, कल्पना करें कि आप निम्न फ़ाइल बनाते हैं quickfox
:
The quick brown
foxjumps\ over -
the
lazy ,
dog.
मैं ऐसा कुछ करने में सक्षम होना चाहूंगा:
# This is just for the example,
# I could of course stream the contents to `read`
variable=$(cat quickfox);
while IFS= read -r line < $variable; do echo $line; done; # this is incorrect