2021-08-24

1. 命令简介

read 命令就是读取控制台输入,会将从键盘输入的数据分割成一个个字段依次存储在 parameter[0] 、parameter[1] ......,若是没有指定参数,则分割后的所有字段都存储在特定变量 REPLY 里。



# 命令格式
read [ option ] [ parameter ]



# 选项说明
-a 将分裂后的字段依次存储到指定的数组中,存储的起始位置从数组的 index=0 开始。
-d 指定读取行的结束符号。默认结束符号为换行符。
-n 限制读取 N 个字符就自动结束读取,如果没有读满N个字符就按下回车或遇到换行符,则也会结束读取。
-N 严格要求读满 N 个字符才自动结束读取,即使中途按下了回车或遇到了换行符也不结束。其中换行符或回车算一个字符。
-p 给出提示符。默认不支持 "\n" 换行,要换行需要特殊处理,见下文示例。例如,"-p 请输入密码:"
-r 禁止反斜线的转义功能。这意味着 "\" 会变成文本的一部分。
-s 静默模式。输入的内容不会回显在屏幕上。
-t 给出超时时间,在达到超时时间时,read 退出并返回错误。也就是说不会读取任何内容,即使已经输入了一部分。

# 查看选项
man read


linux centos7 read 命令_换行符

 

2. 实例



# read 参数
read name

# read -a 参数,将读取的内容分配给数组变量,从索引号 0 开始分配
read -a name


linux centos7 read 命令_字段_02

从图中可以看出,未添加参数之前,输入的信息被统一存储到了 name 中,在添加选项 -a 之后,输入的信息被切割成一个一个的字段, name 是一个数组变量,存储在里面的数据按着下标能一个个分开显示出来。

 


作者:元月二一