read - 从标准输入读取数值
read [-options] [variable...]
这里的 options 是下面列出的可用选项中的一个或多个,且 variable 是用来存储输入数值的一个或多个变量名。
如果没有提供变量名,shell 变量 REPLY 会包含数据行。
注意: 你不能管道read, 管道线 会创建子 shell,
在类 Unix 的系统中,子 shell 执行的时候,会为进程创建父环境的副本。当进程结束 之后,环境副本就会被破坏掉。
这意味着一个子 shell 永远不能改变父进程的环境。
IFS
通常,shell 对提供给 read 的输入按照单词进行分离。
正如我们所见到的,这意味着多个由一个或几个空格 分离开的单词在输入行中变成独立的个体,并被 read 赋值给单独的变量。
这种行为由 shell 变量__IFS__
(内部字符分隔符)配置。IFS 的默认值包含一个空格,一个 tab,和一个换行符,每一个都会把 字段分割开。
Shell 允许在一个命令之前立即发生一个或多个变量赋值。这些赋值为跟随着的命令更改环境变量。
这个赋值的影响是暂时的;只是在命令存在期间改变环境变量。
<<< 操作符指示一个 here 字符串
一个 here 字符串就像一个 here 文档,只是比较简短,由 单个字符串组成。