read命令键盘读取变量的值

158 阅读1分钟

1.read命令键盘读取变量的值

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

  1. read常用见用法及参数
  • 1:从标准输入读取一行并赋值给变量passwd
    • read passwd 赋值
  • 2:读取多个值,从标准输入读取一行,直至遇到第一个空白符或换行符。
  • 把用户键入的第一个词存到变量first中,把该行的剩余部分保存到变量last中
  • read firt last
    • aaaa bbbb #结果
  • 3:read -s passwd 将你输入的东西隐藏起来,值赋给passwd。这个用户隐藏密码信息
    • read -s passwd
    • echo $passwd
    • 123456
  • 4:输入的时间限制
    • read -t 10 time #超过10秒没有输入,直接退出
  • 5:输入的长度限制
    • read -n 2 test #最多只接受2个字符
  • 6:使用-r参数输,允许让输入中的内容包括:空格、/、\、 ?等特殊字符串。
    • read -r line
    • sdf sdf / sdfs /n
    • echo $line
    • sdf sdf / sdfs /n
  • 7:-p 用于给出提示符,在前面的例子中我们使用了echo –n “…“来给出提示符
    • 方法1:
      • read -p "please input: " pass
      • please input: 123456
      • echo $pass
      • 123456
    • 方法2:
      • echo -n "please input: " ; read pass
      • please input: 123456
      • echo $pass
      • 123456

  • 8:read 综合实例 vim test-read.sh 写入以下内容
#!/bin/bash
read -p "请输入姓名:" NAME
read -p "请输入年龄:" AGE
read -p "请输入性别:" SEX

cat <<EOF
*********************
你的基本信息如下:
姓名: $NAME
年龄:$AGE
性别:$SEX
********************
EOF
  • 执行结果

sh test-read.sh 请输入姓名:xue 请输入年龄:111 请输入性别:man

  • 你的基本信息如下:
  • 姓名: xue
  • 年龄:111
  • 性别:man