Angenommen, die zu lesende Datei ist test.txt im aktuellen Verzeichnis und hat folgenden Inhalt:

Google 
Example
Taobao

Beispiel 1

#!/bin/bash

while read line
do
    echo $line
done < test.txt

Ergebnis der Ausführung:

Google
Example
Taobao

Beispiel 2

#!/bin/bash

cat test.txt | while read line
do
    echo $line
done

Ergebnis der Ausführung:

Google
Example
Taobao

Beispiel 3

for line in `cat  test.txt`
do
    echo $line
done

Ergebnis der Ausführung:

Google
Example
Taobao

Es gibt einen Unterschied zwischen dem zeilenweisen Lesen mit for und dem zeilenweisen Lesen mit while, zum Beispiel:

$ cat test.txt
Google
Beispiel
Taobao

$ cat test.txt | while read line; do echo $line; done
Google
Beispiel
Taobao


$ for line in $(<test.txt); do echo $line; done
Google
Beispiel
Taobao