Linux命令200例:read从标准输入中读取用户的输入的8个应用示例

文章目录


🚀一、简介

在 Linux 系统中,read 命令用于从标准输入中读取用户的输入,并将其保存到一个或多个变量中。它通常被用于编写 shell-
脚本,用来接收用户的输入或处理管道操作。-
在这里插入图片描述

🚀二、语法

read 命令的基本语法如下:

read [options] variable(s)

🚀三、参数

read 命令的常用选项包括:

  • -p:显示提示符,并等待用户输入。
  • -s:使输入不可见,适用于输入密码等敏感信息。
  • -t:设置超时时间,若用户在指定时间内未输入,则自动退出。
  • -n:限制读取的字符数。
  • -r:若用户输入包含反斜杠(\),则保持原样而不进行转义。

🚀四、使用实例

以下是八个 read 命令的实际例子,帮助你更好地理解该命令的用法。

🔎4.1 接收用户输入的字符串

read -p "请输出你的名字:" name
echo "你好,$name!"

执行以上代码时,会显示提示符,等待用户输入名字。然后将输入的字符串保存到 $name 变量中,并通过 echo 命令输出问候消息。

🔎4.2 隐藏用户输入的密码

read -s -p "请输入密码:" password
echo -e "\n密码已经保存。"

此例中,-s 选项使输入的密码不可见,然后将其保存到 $password 变量中,并通过 echo -e 命令输出确认信息。

🔎4.3 读取多个变量

read -p "请输入姓名、年龄和性别(用空格分隔):" name age gender
echo "你的姓名是:$name"
echo "你的年龄是:$age"
echo "你的性别是:$gender"

使用这个命令,用户可以一次性输入多个变量,每个变量之间通过空格分隔。

🔎4.4 从文件中读取数据

cat file.txt | while read line; do
    echo "行内容是:$line"
done

这个例子演示了如何从文件中逐行读取内容,并将每行保存到变量 $line 中进行处理。

🔎4.5 设置超时时间

read -t 10 -p "请在10秒内输入你的名字:" name
if [ -z "$name" ]; then
    echo "时间已过,未收到输入。"
else
    echo "你好,$name!"
fi

当用户在 10 秒内输入名字时,将输出问候消息。如果超过 10 秒用户仍未输入,则输出未收到输入的提示信息。

🔎4.6 限制字符数

read -n 5 -p "请输入一个五位数:" number
echo "你输入的数是:$number"

在这个例子中,用户只能输入五位数字。如果输入的字符数超过限制,那么将只读取前五个字符。

🔎4.7 保持反斜杠原样

read -r -p "请输入一个路径:" path
echo "你输入的路径是:$path"

使用 -r 选项,可以保持用户输入的字符串中的特殊字符(如反斜杠)原样输出。

🔎4.8 从命令行参数读取输入

read name age <<< "$1 $2"
echo "姓名:$name,年龄:$age"

通过 <<< 运算符,可以将命令行参数传递给 read 命令,并将参数分别保存到 $name$age 变量中。

五、总结

read 命令是 Linux 系统中一个非常实用的工具,它可以帮助我们接收用户的输入、处理管道操作、控制脚本超时等。通过合理地使用 read 命令,我们可以编写出更加灵活和交互性强的脚本。希望以上的介绍能够对你理解和使用 read 命令提供一些帮助。

📝结尾

看到这里了还不给博主扣个:- ⛳️ 点赞☀️收藏 ⭐️ 关注!- 💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖- 拜托拜托这个真的很重要!- 你们的点赞就是博主更新最大的动力!- 有问题可以评论或者私信呢秒回哦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值