📜  Bash 脚本——读取用户输入(1)

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

Bash 脚本——读取用户输入

在 Bash 脚本中,我们可以通过读取用户的输入来获取用户所提供的信息,从而实现交互式的脚本编程。本篇文章将介绍如何在 Bash 脚本中读取用户的输入。

read 命令

在 Bash 脚本中,可以使用 read 命令读取用户输入。读取用户输入的基本用法如下:

read VARIABLE

其中,VARIABLE 表示用于保存用户输入值的变量名,该变量名可以自定义。

例如,要读取用户输入的姓名,可以使用以下代码:

read name
echo "Hello, $name!"

运行该脚本后,程序会等待用户输入姓名,并在用户输入后输出 Hello, [姓名]! 的信息。

指定提示信息

在使用 read 命令时,我们可以使用 -p 选项来指定提示信息。指定提示信息的用法如下:

read -p "Please enter your name: " name

其中,"Please enter your name: " 表示提示信息,name 表示用于保存用户输入值的变量名。

例如,使用以下代码可以实现类似的功能:

read -p "Please enter your name: " name
echo "Hello, $name!"

运行该脚本后,程序会输出提示信息 Please enter your name: ,并等待用户输入姓名,最终输出 Hello, [姓名]! 的信息。

指定超时时间

在一些场景下,我们需要在用户输入超时后退出程序。此时,我们可以使用 -t 选项来指定超时时间。指定超时时间的用法如下:

read -t timeout VARIABLE

其中,timeout 表示超时时间,单位为秒。如果用户没有在超时时间内输入,则程序会退出。

例如,使用以下代码可以实现类似的功能:

read -t 5 -p "Please enter your name within 5 seconds: " name
if [ ! -z "$name" ]; then
    echo "Hello, $name!"
else
    echo "Timeout!"
fi

运行该脚本后,程序会输出提示信息 Please enter your name within 5 seconds: ,并等待用户输入姓名。如果用户在 5 秒内输入了姓名,则程序会输出 Hello, [姓名]! 的信息;否则,程序会输出 Timeout! 的信息。

小结

在 Bash 脚本中,我们可以使用 read 命令读取用户输入。通过指定提示信息和超时时间,可以实现更加灵活的用户交互。