unix read命令

语法

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

posted @ 2013-06-08 11:05  顺水的船  阅读(677)  评论(0编辑  收藏  举报