linux 从键盘读取变量值 命令:read

Linux键盘读取变量值 命令:read

Shell脚本中,我们通常需要从键盘读取用户输入的值,以便进行后续的处理。Linux提供了一个强大的命令read来实现这一功能。

1. 读取变量值

read命令用于从键盘读取一个或多个变量值。其基本语法如下:


read variable_name

其中,variable_name是要读取的变量名称。执行以上命令后,脚本会在键盘等待用户输入,并将输入的值赋值给variable_name变量。

例如,以下脚本将从键盘读取name变量的值,并输出到终端上:


#!/bin/bash
echo -n "请输入您的姓名:"
read name
echo "您好,$name"

执行以上脚本,会输出如下结果:


请输入您的姓名:Tom
您好,Tom

2. 指定提示信息

在读取变量值时,我们可以通过-p选项指定一个提示信息,以便提醒用户输入值的类型或格式。其语法如下:


read -p "提示信息" variable_name

例如,以下脚本会提示用户输入一个数字,并将其赋值给num变量:


#!/bin/bash
read -p "请输入一个数字:" num
echo "您输入的数字是:$num"

执行以上脚本,会输出如下结果:


请输入一个数字:123
您输入的数字是:123

3. 设置超时时间

有时我们需要设置一个超时时间,当用户在一定时间内没有输入值时,程序自动结束等待并继续执行后续语句。read命令提供了-t选项用于实现这一功能。其语法如下:


read -t 超时时间 variable_name

例如,以下脚本将在10秒内等待用户输入,并将输入的值赋值给name变量:


#!/bin/bash
echo -n "请输入您的姓名:"
read -t 10 name
echo "您好,$name"

执行以上脚本,在10秒内输入值会输出如下结果:


请输入您的姓名:Tom
您好,Tom

若超过10秒未输入值,将自动结束等待:


请输入您的姓名:
您好,

4. 读取命令输出

read命令还可以读取命令的输出,并将其赋值给变量。其语法如下:


read variable_name < 命令

例如,以下脚本将读取当前时间,并将其赋值给time变量:


#!/bin/bash
read time < date
echo "当前时间是:$time"

执行以上脚本,会输出当前时间:


当前时间是:Mon Aug  9 11:42:08 CST 2021
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容