Я пытаюсь прочитать вывод команды в 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
части, см. Понимание IFS и вопросы, связанные там.
find
см. Как я могу использовать две команды bash в -exec команды find? или Выполнение пользовательской функции в вызове find -exec (который в основном повторяется в этом вопросе).