shell中如果需要进行逐行处理一个文件的操作,需要这样写:
while read -r line;do echo $line done < $file
如果文件的内容已经在一个变量中了,需要这样处理:
while read -r line;do echo $line done <<< $var
这里有一个问题,<<<在一些shell里面是不支持的,所以如果运行遇到了这个错误:
Syntax error: redirection unexpected
就需要看一下是否用到了/bin/bash,因为在一些linux发行版上,/bin/sh默认指向的可能是dash。