Tôi đang cố gắng đọc đầu ra của một lệnh trong bash bằng cách sử dụng a while loop.
while read -r line
do
    echo "$line"
done <<< $(find . -type f)
Đầu ra tôi nhận được
ranveer@ranveer:~/tmp$ bash test.sh
./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello
ranveer@ranveer:~/tmp$ 
Sau này tôi đã thử
$(find . -type f) | 
while read -r line
do
    echo "$line"
done 
nhưng nó đã tạo ra một lỗi test.sh: line 5: ./test.py: Permission denied.
Vì vậy, làm thế nào để tôi đọc từng dòng một bởi vì tôi nghĩ hiện tại nó đang nhét toàn bộ dòng này cùng một lúc.
Yêu cầu đầu ra:
./test.py
./test1.py
./out1
./test.sh
./out
./out2
./hello
          while readphần, xem Hiểu IFS và các câu hỏi được liên kết ở đó.
                find, hãy xem Làm thế nào tôi có thể sử dụng hai lệnh bash trong -exec của lệnh find? hoặc Thực thi chức năng do người dùng xác định trong cuộc gọi find -exec (câu hỏi này chủ yếu là trùng lặp).