Bash 中的用户输入
接受用户输入对于任何程序或脚本都非常重要。以这种方式,用户与系统交互并向系统提供输入。
与其他编程或脚本语言一样,Bash 支持接受用户输入。接受用户输入的一般格式是 read YOUR_VARIABLE
。
如果你想为用户创建一个标签,让他们知道他们需要什么样的输入,格式将类似于 read -p "YOUR INSTRUCTION HERE : " YOUR_VARIABLE
。在本文中,我们将了解如何在 Bash 中将用户输入输入系统。
此外,我们将看到一些与主题相关的示例和解释,以使主题更容易。
Bash 中的用户输入
正如我们已经讨论过的,我们需要使用关键字 read
将用户输入到系统中。它是 Bash 中的一个内置关键字,用于读取用户输入。
在下面的示例中,我们将获取用户输入并向用户提供输出,包括用户输入。我们示例的代码将如下所示:
read YOUR_VAR
echo "You entered the number $YOUR_VAR"
上面分享了一个非常简单的示例,我们通过该示例获取输入并提供如下所示的输出。
50
You entered the number 50
但是用户怎么会知道他必须在这里提供一个数值呢?我们需要告诉用户他需要在这里提供一个数值。
为此,你需要遵循以下示例,该示例与上一个示例类似但有所改进。我们示例的代码如下所示。
read -p "Please enter a number: " YOUR_VAR
echo "You entered the number $YOUR_VAR"
当你运行此示例时,脚本首先会显示一条消息请输入一个数字:
,当用户提供一个数值时,他将获得以下输出。
Please enter a number: 50
You entered the number 50
从用户那里获取 YES
或 NO
输入
下面我们将看到一个示例,该示例仅采用 YES
或 NO
之间的用户输入。我们示例的代码将是这样的:
while true; do
read -p "Do you wish to continue? " yn
case $yn in
[Yy]* ) echo "You have selected YES!! ";;
[Nn]* ) echo "You have selected NO!! ";;
* ) echo "Please answer between YES or NO";;
esac
done
我们在示例中使用了一个 while
循环和一个条件语句 case
。我们通过 read -p "Do you want to continue the program?" yn
获取用户输入。
通过 [Yy]* ) echo "You have selected YES";;
和 [Nn]* ) echo "You have selected NO";;
我们检查用户输入。
如果输入是 Y
或 y
,它将显示输出 You have selected YES
,如果输入是 N
或 n
,它将显示输出 You have selected NO
。
最后,如果用户通过 * ) echo "请回答是或否";;
行输入任何意外输入,我们设置默认输出。运行代码后,我们将得到如下输出:
Do you wish to continue the program? Y
You have selected YES!!
Do you wish to continue the program? Y
You have selected YES!!
Do you wish to continue the program? N
You have selected NO!!
请注意,本文中使用的所有代码都是用 Bash 编写的。它仅适用于 Linux Shell 环境。
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn