- #!/bin/bash
- echo "#####first #####"
- while read line1
- do
- echo $line1
- done < $1
- echo "##### second #####"
- cat $1 | while read line2
- do
- echo $line2
- done
- echo "##### third#####"
- for line3 in $(<$1)
- do
- echo $line3
- done
使用for读取时,自动按空格作为间隔符。
如果输入文本每行中没有空格,则line在输入文本中按换行符分隔符循环取值.
如果输入文本中包括空格或制表符,则不是换行读取,line在输入文本中按空格分隔符或制表符或换行符特环取值.
可以通过把IFS设置为换行符来达到逐行读取的功能.
如果输入文本中包括空格或制表符,则不是换行读取,line在输入文本中按空格分隔符或制表符或换行符特环取值.
可以通过把IFS设置为换行符来达到逐行读取的功能.
- IFS=$'\n'
- echo "##### 方法 3 #####"
- for line3 in $(<$1)
- do
- echo $line3
- done