read命令键盘读取变量的值

从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY

read从键盘读入数据,赋给变量

例1:

[root@xuegod63 ~]# read a b

hello world

[root@xuegod63 ~]# echo $a $b

hello world 

read常用见用法及参数

例1:从标准输入读取一行并赋值给变量passwd

[root@xuegod63 ~]# read passwd

例2:读取多个值,从标准输入读取一行,直至遇到第一个空白符或换行符。把用户键入的第一个词存到变量first中,把该行的剩余部分保存到变量last中

image.png

例3:read -s passwd 将你输入的东西隐藏起来,值赋给passwd。这个用户隐藏密码信息

[root@xuegod63 ~]# read -s passwd

[root@xuegod63 ~]# echo $passwd

123456

例4:输入的时间限制

[root@xuegod63 ~]# read -t 2 time   #超过两秒没有输入,直接退出


例5:输入的长度限制

[root@xuegod63 ~]# read -n 2 test  #最多只接受2个字符


例6:使用 -r 参数输,允许让输入中的内容包括:空格、/、\、 ?等特殊字符串。

[root@xuegod63 ~]# read  -r line

sdf sdf / sdfs /n

[root@xuegod63 ~]# echo $line

sdf sdf / sdfs /n

例7:-p 用于给出提示符,在前面的例子中我们使用了echo –n “…“来给出提示符

方法1

[root@xuegod63 ~]# read -p  "please input: "  pass

please input: 123456

[root@xuegod63 ~]# echo $pass

123456

方法2

[root@xuegod63 ~]# echo -n "please input: " ; read pass

please input: 123456    

[root@xuegod63 ~]# echo $pass

123456

 

例8:read 综合实例

[root@xuegod63 ~]# vim  test-read.sh  #写入以下内容

#!/bin/bash
read -p "请输入姓名:" NAME
read -p "请输入年龄:" AGE
read -p "请输入性别:" SEX
 
cat<<eof
*********************
你的基本信息如下:
姓名: $NAME
年龄:$AGE
性别:$SEX
********************
eof

[root@xuegod63 ~]# sh test-read.sh

请输入姓名:xuegod

请输入年龄:111

请输入性别:man

*********************

你的基本信息如下:

姓名: xuegod

年龄:111

性别:man

版权声明:
作者:WaterBear
链接:https://l-t.top/1594.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>