मैं bash में कमांड के आउटपुट को पढ़ने की कोशिश कर रहा हूं while loop।
while read -r line
do
echo "$line"
done <<< $(find . -type f)
मुझे जो आउटपुट मिला है
ranveer@ranveer:~/tmp$ bash test.sh
./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello
ranveer@ranveer:~/tmp$
इसके बाद मैंने कोशिश की
$(find . -type f) |
while read -r line
do
echo "$line"
done
लेकिन इसने एक त्रुटि उत्पन्न की test.sh: line 5: ./test.py: Permission denied।
तो, मैं इसे लाइन से लाइन कैसे पढ़ता हूं क्योंकि मुझे लगता है कि वर्तमान में यह एक ही बार में पूरी लाइन को खिसका रहा है।
आवश्यक उत्पादन:
./test.py
./test1.py
./out1
./test.sh
./out
./out2
./hello
while readहिस्सा है, को देखने के आईएफएस को समझना और सवाल वहाँ से जोड़ा।
find, देखें कि मैं दो bash कमांड का उपयोग कैसे कर सकता हूँ-कमांड को खोजने के लिए? या खोजे-निकले कॉल में उपयोगकर्ता परिभाषित फ़ंक्शन (जो यह प्रश्न अधिकतर एक डुप्लिकेट है)।