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: "

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

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

热门文章

优秀文章