Sto cercando di leggere l'output di un comando in bash usando a while loop
.
while read -r line
do
echo "$line"
done <<< $(find . -type f)
L'output che ho ottenuto
ranveer@ranveer:~/tmp$ bash test.sh
./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello
ranveer@ranveer:~/tmp$
Dopo questo ho provato
$(find . -type f) |
while read -r line
do
echo "$line"
done
ma ha generato un errore test.sh: line 5: ./test.py: Permission denied
.
Quindi, come posso leggerlo riga per riga perché penso che attualmente stia bevendo l'intera riga in una volta.
Uscita richiesta:
./test.py
./test1.py
./out1
./test.sh
./out
./out2
./hello
while read
parte, vedere Informazioni su IFS e le domande ad esso collegate.
find
, vedere Come posso usare due comandi bash in -exec del comando find? oppure Esecuzione della funzione definita dall'utente in una chiamata find -exec (di cui questa domanda è principalmente un duplicato).