Assume the file to be read is test.txt in the current directory, with the following content:

Google 
Example
Taobao

Example 1

#!/bin/bash

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

Execution output result:

Google
Example
Taobao

Example 2

#!/bin/bash

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

Execution output result:

Google
Example
Taobao

Example 3

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

Execution output result:

Google
Example
Taobao

There is a difference between for line-by-line reading and while line-by-line reading, for example:

$ cat test.txt
Google
Example
Taobao

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


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