📅  最后修改于: 2020-12-07 08:01:11             🧑  作者: Mango
Linux read命令用于将行的内容读入变量。这是Linux系统的内置命令。因此,我们不需要安装任何其他工具。这是创建bash脚本时接受用户输入的简单工具。它是一个功能强大的实用程序,与echo命令和位置参数一样重要。它用于拆分与shell变量绑定的单词。首先,它用于接受用户输入,但可以用于在接受输入时实现功能。
句法:
read命令的基本语法如下:
read [options] [name...]
read命令可以带或不带参数使用。让我们看一下read命令的各种用法:
如果我们传递不带任何参数的read命令,它将以一行作为用户输入并将其存储在内置变量REPLY中。执行以下命令:
read
上面的命令将要求用户输入。键入用户输入,然后按Enter键保存。要显示输入的内容,请执行以下命令:
echo $REPLY
上面的命令将显示来自“ REPLY”变量的存储的输入。
考虑以下输出:
我们可以指定变量来存储输入。如果指定变量的数量少于输入的单词,则默认情况下它将所有剩余的单词存储在最后一个变量中。考虑以下命令:
read var1 var2 var3
Javatpoint is the best portal to learn Technologies // Entered text
上面的命令会将'Javatpoint'存储在'var1'中,将'is'存储在'var2'中,并将所有剩余的单词存储在'var3'中。要验证值,请执行以下命令:
echo "[$var1] [$var2] [$var3]"
上面的命令将显示变量值。考虑以下输出:
默认情况下,read命令将
read var1 var2 var3
Javatpoint \
> is \
> the best portal to learn technologies
上面的命令将每一行作为输入字符,并将其存储到指定的变量中。要验证值,请执行以下命令:
echo "[$var1] [$var2] [$var3]"
考虑以下输出:
内部字段分隔符(IFS)用于分隔输出字段并确定给定行中的单词边界。我们可以根据需要设置。执行以下脚本:
{
IFS=";"
read var1 var2 var3
"[$var1] [$var2] [$var3]"
}
Javatpoint;is;the;best;platform;to;learn;Technologies // Entered text
在上面的脚本中,输出将用分号分隔。考虑以下输出:
以下是与read命令一起使用的一些有用的参数选项:
'-p'选项用于提示文本。它读取数据以及一些提示文本。此提示文本在输入诸如输入内容之类的文本时对我们有帮助。考虑以下命令:
read -p " Enter your name: "
上面的命令将要求输入名称,输入名称。该名称将存储到“ REPLY”变量中。要显示变量值,请执行以下命令:
echo " My name is $REPLY"
考虑以下输出:
“ -n”选项限制输入文本中字符的长度。它不能让您输入的文本超过指定的字符。达到字符限制后,它将自动停止阅读。要将字符限制为六个,请执行以下命令:
read -n 6 -p " Enter 6 characters only: "
上面的命令不会让我们输入超过6个字符。考虑以下输出:
'-s'选项用于安全目的。用于读取敏感数据。通过使用此选项,输入的文本将不会出现在终端中。我们可以将其他选项与此选项一起使用。在此选项中读取字符。首先,它用于从键盘读取密码。考虑以下命令:
read -s -p "Enter password: "
上面的命令将提示您输入密码,当我们键入密码时,它将不会显示在终端上。考虑以下输出:
从上面的输出中,密码没有显示在终端上,但是值已存储在变量中。