मैं 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 कमांड का उपयोग कैसे कर सकता हूँ-कमांड को खोजने के लिए? या खोजे-निकले कॉल में उपयोगकर्ता परिभाषित फ़ंक्शन (जो यह प्रश्न अधिकतर एक डुप्लिकेट है)।