我正在尝试使用读取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
3
我建议阅读Bash FAQ 01-有关避免陷阱的大量有用信息和建议。
—
2012年
对于这一
—
吉尔(Gilles)'所以
while read
部分,请参阅了解IFS及其链接的问题。