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 ~]#