我从http://bash.cyberciti.biz/guide/While_loop获取此代码,用于从文件中逐行读取
file=/etc/resolv.conf
while IFS= read -r line
do
# echo line is stored in $line
echo $line
done < "$file"
Run Code Online (Sandbox Code Playgroud)
我不理解的部分是IFS=
它对这个功能的贡献.有人可以向我解释一下吗?谢谢.
Emi*_*röm -4
IFS 是行分隔符(或实际上是“内部字段分隔符”)的变量。该代码将有效地清空读取命令的行分隔符并将其设置为默认值。有时,由于用户想要其他“行”结尾,例如一次读取一个句子 ( IFS=.
) 或类似内容,IFS 会在代码中的其他位置发生更改。
我猜他们在这里添加IFS=
只是为了确保它对每个人都有效,无论 IFS 变量的先前值如何。该代码应该仍然可以工作,无需IFS=