linux命令之read

1.read介绍

linux命令read用来接收键盘或其它文件的输入,得到输入后,read命令将接收的数据放入到标准变量中。

2.read用法

read [参数] [变量名称]

read常用参数

参数

说明

-p

后面跟提示信息

-e

可以使用命令补全功能

-n

输入文本的长度

-s

输入字符时不再屏幕上显示,例如:login时输入密码,隐藏输入的数据

-t

后面跟秒数,定义输入字符的等待时间

另外,“变量名称”可以自定义,如果不指定变量名称,则会把输入保存到默认变量REPLY中

3.实例

3.1.根据提示输入姓名

命令:

read -p "请输入姓名:" name

echo $name

[root@rhel77 ~]# cat read.sh 
#!/bin/bash

read -p "请输入姓名:" name
echo $name
[root@rhel77 ~]# sh read.sh 
请输入姓名:ztj
ztj
[root@rhel77 ~]#

3.2.根据提示输入姓名,最长等待时间30秒

命令:

read -t 30 -p "请输入姓名:" name

echo $name

[root@rhel77 ~]# cat read.sh 
#!/bin/bash

read -t 30 -p "请输入姓名:" name
echo $name
[root@rhel77 ~]# sh read.sh 
请输入姓名:ztj
ztj
[root@rhel77 ~]#

3.3.根据提示输入姓名(隐藏不显示),最长等待时间30秒

命令:

read -s -t 30 -p "请输入姓名:" name

echo $name

[root@rhel77 ~]# cat read.sh
#!/bin/bash

read -s -t 30 -p "请输入姓名:" name
echo
echo $name
[root@rhel77 ~]# sh read.sh
请输入姓名:
ztj
[root@rhel77 ~]#

3.4.根据提示输入姓名(文本最长长度3,[无需回车]),最长等待时间30秒

命令:

read -n 3 -t 30 -p "请输入姓名:" name

echo $name

[root@rhel77 ~]# cat read.sh
#!/bin/bash

read -n 3 -t 30 -p "请输入姓名:" name
echo
echo $name
[root@rhel77 ~]# sh read.sh 
请输入姓名:ztj
ztj
[root@rhel77 ~]# sh read.sh 
请输入姓名:dd

dd
[root@rhel77 ~]#

3.5.根据提示输入姓名,允许使用命令补全

命令:

read -e -p "请输入姓名:" name

echo

echo $name

[root@rhel77 ~]# cat read.sh
#!/bin/bash

read -e -p "请输入姓名:" name
echo
echo $name
[root@rhel77 ~]# sh read.sh 
请输入姓名:shift.sh 

shift.sh
[root@rhel77 ~]#