Bash教程

Bash 读用户输入

Bash读取用户输入

在本主题中,我们将学习如何从终端和脚本读取用户输入。
读取 Bash 用户输入,我们使用名为 read 的内置 Bash 命令。它从用户那里获取输入并将其分配给变量。它只从 Bash shell 读取一行。以下是其实现的语法。

语法

read <variable_name>
按照给定的示例从 Bash 脚本读取用户输入:

示例 1:

在此示例中,我们同时读取单个和多个使用读取命令从 Bash 脚本中读取变量。

程序:

#!/bin/bash
# Read the user input 
echo "Enter the user name: "
read first_name
echo "The Current User Name is $first_name"
echo
echo "Enter other users'names: "
read name1 name2 name3
echo "$name1, $name2, $name3 are the other users."
查看 Bash 控制台:
Read User Input
输出:
读取用户输入

会发生什么如果我们不通过读取命令传递任何变量?

如果我们不通过读取命令传递任何变量,那么我们可以传递一个名为 REPLY(应该以 $ 符号为前缀)同时显示输入。可以使用以下程序进行解释:

程序:

#!/bin/bash
# using read command without any variable
echo "Enter name : "
read
echo "Name : $REPLY"
在 Bash 控制台上:
Read User Input
输出:
读取用户输入

示例2:

在本例中,我们使用-p命令行选项在同一个PROMPT上输入输入,如下所示:
read-p PROMPT <variable_name>

程序:

#!/bin/bash
read-p "username:" user_var
echo "The username is: " $user_var
查看 Bash 控制台:
Read User Input
输出:
读取用户输入

示例 3:

这个例子是将输入保持在静默模式,这样用户在命令行上的任何输入都会被其他人隐藏。
因此,我们通常使用命令行选项(-s,-p)传递用户名并隐藏密码(静默模式),如下所示:
read-sp PROMPT <variable_name>
其中-s 允许用户将输入保持在静默模式,而-p 允许用户在新的命令提示符下输入。

程序:

#!/bin/bash
read-p "username : " user_var
read-sp "password : " pass_var
echo
echo "username : " $user_var
echo "password : "  $pass_var
查看 Bash 控制台:
Read User Input
输出:
读取用户输入
注意: 注意: 在脚本的第 5 行,我们使用 echo 命令给出了一个空白行,因为如果我们不将其设为空白,它将同时给出两者的输出与下图相同的提示中的密码和用户名。
Read User Input
因此,通过添加一个空白来编写脚本回显命令行。
示例 4: 此示例是使用数组输入多个输入。所以使用-a 命令行选项如下:
read-a <variable_name>
其中 -a 帮助脚本读取数组,而 variable_name 指的是数组。

程序:

#!/bin/bash
# Reading multiple inputs using an array
echo "Enter names : "
read-a names
echo "The entered names are : ${names[0]}, ${names[1]}."
查看 Bash 控制台上的代码:
Read User Input
输出:
读取用户输入
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4