📜  Bash读取用户输入(1)

📅  最后修改于: 2023-12-03 15:29:36.098000             🧑  作者: Mango

Bash读取用户输入

在BASH脚本开发中,读取用户输入是必不可少的,本文将介绍如何使用Bash读取用户输入。

通过read命令读取用户输入

使用Bash脚本,可以通过read命令来读取用户的输入,语法如下:

read [option] variable

其中variable为保存用户输入数据的变量,option为可选参数。

读取单行输入

通过以下代码可以读取用户输入的一行内容:

#!/bin/bash

echo "请输入您的名字:"
read name
echo "您好,$name!"

以上代码会要求用户输入自己的名字,并输出欢迎语。

读取多行输入

有时需要用户输入多行内容,可以通过循环来实现,代码如下:

#!/bin/bash

echo "请输入多行文本,按EOF结束输入:"
while read line
do
    echo "$line"
done

以上代码会要求用户输入多行内容,每输入一行即可回显该行输入内容,当用户输入ctrl+d 组合键结束输入操作时,循环也结束。

使用参数选项

read命令还支持一些参数选项,可以实现更灵活的用户输入控制。

在指定时间内读入输入

如果需要等待用户输入,但是不想等到用户无限期地一直不输入,可以使用 -t 参数选项指定等待时间。

#!/bin/bash

echo "请输入您的用户名:"
if read -t 5 username; then
    echo "您的用户名是:$username"
else
    echo "您未在规定时间内输入用户名!"
fi

以上代码会在5秒内等待用户输入,如果在规定时间内没有输入,则输出提示信息。

接收限定字符

可以使用 -d 参数选项指定接收的限定字符,当读取到指定字符时,命令会提前结束读取过程。

#!/bin/bash

echo "请输入您的年龄:"
read -d ":" age
echo "您的年龄是:$age"

以上代码会等待用户输入年龄,直到输入冒号(:)并回车确认,然后输出用户输入的年龄。

接收指定个数字符

可以使用 -n 参数选项指定读取的字符个数。

#!/bin/bash

echo "请输入4位验证码:"
read -n4 code
echo "您输入的验证码是:$code"

以上代码会等待用户输入4位字符,当输入字符个数达到4个时,自动结束输入,输出用户输入的验证码。

总结

以上就是使用Bash读取用户输入的方法和技巧,使用read命令可以很方便地获取用户输入,并对输入做出一些控制。在实际开发中,可以根据需求加以灵活运用,提高脚本的效率和易用性。