Linux read命令
Linux read 命令用于将行的内容读入变量。这是用于 Linux 系统的内置命令。因此,我们不需要安装任何其他工具。这是一个在创建 bash 脚本时接受用户输入的简单工具。它是一个强大的实用程序,与回显命令和位置参数一样重要。它用于拆分与 shell 变量绑定的单词。它主要用于接受用户输入,但也可用于在接受输入时实现功能。
语法:
read 命令的基本语法如下:
read [options] [name...]
如何使用read命令?
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 命令将<空格>、<tab> 和<换行符> 字符视为单词,并根据这些字符拆分输入。但是我们可以使用多行传递输入,用反斜杠“\”字符分隔每行。请考虑以下命令:
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 命令的参数
以下是与 read 命令一起使用的一些有用的参数选项:
- read -p
“-p”参数用于提示文本。它读取数据以及一些提示文本。此提示文本在输入文本(例如要输入的内容)时可以帮助我们。请考虑以下命令:
read -p " Enter your name: "
上面的命令将询问名称,输入名称。该名称将存储到“REPLY”变量中。要显示变量值,请执行以下命令:
echo " My name is $REPLY"
输出结果:
- read -n
“-n”参数限制输入文本中字符的长度。它不会让您输入的文本超过指定的字符数。达到字符数限制后,它会自动停止读取。要将字符限制为六个字符,请执行以下命令:
read -n 6 -p " Enter 6 characters only: "
上面的命令不会让我们输入超过 6 个字符。请考虑以下输出:
- read -s
“-s”参数用于安全目的。它用于读取敏感数据。通过使用此选项,输入的文本将不会显示在终端中。我们可以将其他选项与此选项一起使用。在此选项中读取字符。它主要用于从键盘读取密码。请考虑以下命令:
read -s -p "Enter password: "
上面的命令会提示输入密码,当我们输入密码时,它不会显示在终端上。请考虑以下输出:
从上面的输出来看,密码没有显示在终端上,但值已经存储在变量中。
热门文章
优秀文章