语法
read [-r] variable
用途
将信息读入一个或者多个shell变量。
选项 –r
原始读取,不做任何处理,不将行尾的反斜杠解释为续行字符。
行为模式
自标准输入读取行(数据)后,通过shell字段切割的功能(使用$IFS)进行切分。第一个单词赋值给第一个变量,第二个单词赋值给第二个变量,以此类推,如果单词多余变量,则所有剩下的单词,全赋值给最后一个变量。read一旦遇到文件结尾,会以失败退出。
如果输入以反斜杠结尾,则read会丢弃反斜杠与换行字符,然后继续读取下一行数据,if you yse the –r option, 那么 read 便会以字面意义读取最后的反斜杠。
例句
#使用循环逐行读取 文件 /etc/passwd
while IFS=: read user pass uid gid fullname homedir shell
do
… #处理每个用户的行
done < /etc/passwd
#while read … do … done < file还有一种替代方式,即在管道里把 cat 和循环一起使用:
cat /etc/passwd |
while IFS=: read user pass uid gid fullname homedir shell
do
… #处理每个用户的行
done