Linux Shell基础 read命令

Posted lizhouwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Shell基础 read命令相关的知识,希望对你有一定的参考价值。

read命令

read 命令用于接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中,read 命令格式如下:

[[email protected] ~]# read [选项] [变量名]

选项:

  • -p "提示信息":在等待read输入时,输出提示信息;
  • -t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间;
  • -n 字符数:read命令只接收指定的字符数就会执行;
  • -s: 隐藏输入的数据,适用于机密信息的输入;
变量名:
  • 变量名可以自定义。如果不指定变量名,则会把输入保存到默认变量REPLY中;
  • 如果只提供了一个变量名,则将整个输入行赋予该变量;
  • 如果提供了一个以上的变量名,则输入行分为若干字,一个接一个地赋予各个变量,而命令行上的最后一个变量取得剩余的所有字;

read命令示例

[[email protected] sh]# vi read.sh
#!/bin/bash
read -t 30 -p "Please input your name:" name
#提示"请输入姓名"并等待30秒,把用户的输入保存到变量name中
echo "Name is $name"
#看看变量"$name"中是否保存了你的输入
read -s -t 30 -p "Please enter your age:" age
#提示"请输入年龄"并等待30秒,把用户的输入保存到变量age中
#年龄是隐私,所以我们用"-s"选项隐藏输入
echo -e "n"
#调整输出格式,如果不输出换行,则一会儿的年龄输出不会换行
echo "Age is $age"
read -n 1 -t 30 -p "Please select your gender[M/F]:" gender
#提示"请选择性别"并等待30秒,把用户的输入保存到变量gender中
#使用"-n 1"选项只接收一个输入字符就会执行(无须按回车键)
echo -e "
"
echo "Sex is $gender"
执行脚本:
[[email protected] sh]# chmod 755 read.sh
赋予执行权限
[[email protected] sh]#./read.sh
#执行脚本
Please input your name: zhang san
#在read的提示界面输入姓名
Name is zhang san
#"$name"变量中保存了我们的输入
Please enter your age:
#因为加入了"-s"选项,所以输入不会显示在命令行上
Age is 18
#"$age"变量中保存了我们的输入
Please select your gender[M/F]: M
#因为加入了"-n 1"选项,所以只能输入一个字符
Sex is M
# "$gender"变量中保存了我们的输入

 

以上是关于Linux Shell基础 read命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux bash基础特性二

Acwing Linux基础课笔记shell语法

Acwing Linux基础课笔记shell语法

Linux学习:shell基础知识

[shell基础]——read命令

Linux shell read命令