Ich versuche, die Ausgabe eines Befehls in Bash mit einem zu lesen while loop
.
while read -r line
do
echo "$line"
done <<< $(find . -type f)
Die Ausgabe habe ich bekommen
ranveer@ranveer:~/tmp$ bash test.sh
./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello
ranveer@ranveer:~/tmp$
Danach habe ich es versucht
$(find . -type f) |
while read -r line
do
echo "$line"
done
aber es erzeugte einen Fehler test.sh: line 5: ./test.py: Permission denied
.
Also, wie lese ich es Zeile für Zeile, weil ich denke, dass es derzeit die gesamte Zeile auf einmal schlürft.
Erforderliche Ausgabe:
./test.py
./test1.py
./out1
./test.sh
./out
./out2
./hello
while read
Teil siehe Grundlegendes zu IFS und den dort verknüpften Fragen.
find
finden , wie ich zwei bash Befehle in -exec des Befehls find verwenden kann? oder Ausführen einer benutzerdefinierten Funktion in einem find -exec-Aufruf (von dem diese Frage meistens ein Duplikat ist).