📜  Linux读取命令

📅  最后修改于: 2020-12-07 08:01:11             🧑  作者: Mango

Linux读取命令

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

'-p'选项用于提示文本。它读取数据以及一些提示文本。此提示文本在输入诸如输入内容之类的文本时对我们有帮助。考虑以下命令:

read -p " Enter your name: "

上面的命令将要求输入名称,输入名称。该名称将存储到“ REPLY”变量中。要显示变量值,请执行以下命令:

echo " My name is $REPLY"

考虑以下输出:

  • 读-n

“ -n”选项限制输入文本中字符的长度。它不能让您输入的文本超过指定的字符。达到字符限制后,它将自动停止阅读。要将字符限制为六个,请执行以下命令:

read -n 6 -p " Enter 6 characters only: "

上面的命令不会让我们输入超过6个字符。考虑以下输出:

  • 读-s

'-s'选项用于安全目的。用于读取敏感数据。通过使用此选项,输入的文本将不会出现在终端中。我们可以将其他选项与此选项一起使用。在此选项中读取字符。首先,它用于从键盘读取密码。考虑以下命令:

read -s -p "Enter password: "

上面的命令将提示您输入密码,当我们键入密码时,它将不会显示在终端上。考虑以下输出:

从上面的输出中,密码没有显示在终端上,但是值已存储在变量中。