搜索
首页运维linux运维介绍linux中read的用法

介绍linux中read的用法

Sep 04, 2017 pm 03:38 PM
linuxread用法

1、基本读取

read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是 read命令

的最简单形式::

#!/bin/bash
echo -n "Enter your name:"   //参数-n的作用是不换行,echo默认是换行
read  name                   //从键盘输入
echo "hello $name,welcome to my program"     //显示信息
exit 0                       //退出shell程序。
//********************************

由于read命令提供了-p参数,允许在read命令行中直接指定一个提示。

所以上面的脚本可以简写成下面的脚本::

#!/bin/bash
read -p "Enter your name:" name
echo "hello $name, welcome to my program"
exit 0

在上面read后面的变量只有name一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量,如果输入数 据个数过多,则最后所有的值都给第一个变量。如果太少输入不会结束。

//*****************************************

在read命令行中也可以不指定变量.如果不指定变量,那么read命令会将接收到的数据放置在环境变量REPLY中。

例如::

read -p "Enter a number"

环境变量REPLY中包含输入的所有数据,可以像使用其他变量一样在shell脚本中使用环境变量REPLY.

2、计时输入.

使用read命令存在着潜在危险。脚本很可能会停下来一直等待用户的输入。如果无论是否输入数据脚本都必须继续执行,那么可以使用-t选项指定一个 计时器。

-t选项指定read命令等待输入的秒数。当计时满时,read命令返回一个非零退出状态;

#!/bin/bash
if read -t 5 -p "please enter your name:" name
then 
echo "hello $name ,welcome to my script"
else
echo "sorry,too slow"
fi
exit 0

除了输入时间计时,还可以设置read命令计数输入的字符。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。

#!/bin/bash
read -n1 -p "Do you want to continue [Y/N]?" answer
case $answer in
Y | y)
  echo "fine ,continue";;
N | n)
  echo "ok,good bye";;
*)
 echo "error choice";;
esac
exit 0

该例子使用了-n选项,后接数值1,指示read命令只要接受到一个字符就退出。只要按下一个字符进行回答,read命令立即

接受输入并将其传给变量。无需按回车键。

 

3、默读(输入不显示在监视器上)

有时会需要脚本用户输入,但不希望输入的数据显示在监视器上。典型的例子就是输入密码,当然还有很多其他需要隐藏的数据。

-s选项能够使read命令中输入的数据不显示在监视器上(实际上,数据是显示的,只是 read命令将文本颜色设置成与背景相同的颜色)。

#!/bin/bash
read  -s  -p "Enter your password:" pass
echo "your password is $pass"
exit 0

4、读文件

最后,还可以使用read命令读取Linux系统上的文件。

每次调用read命令都会读取文件中的"一行"文本。当文件没有可读的行时,read命令将以非零状态退出。

读取文件的关键是如何将文本中的数据传送给read命令。

最常用的方法是对文件使用cat命令并通过管道将结果直接传送给包含read命令的 while命令

例子::

#!/bin/bash
count=1    //赋值语句,不加空格
cat test | while read line        //cat 命令的输出作为read命令的输入,read读到的值放在line中
do
   echo "Line $count:$line"
   count=$[ $count + 1 ]          //注意中括号中的空格。
done
echo "finish"
exit

以上是介绍linux中read的用法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
FetchDebian安全性如何保障FetchDebian安全性如何保障Apr 13, 2025 am 11:21 AM

FetchDebian(通常指的是通过APT包管理器从Debian仓库获取软件包的过程)本身并不直接提供安全性保障,但它依赖于Debian发行版本身的安全机制和更新流程。以下是如何通过FetchDebian来保障系统安全性的详细说明:Debian的安全更新机制定期更新:Debian项目会定期发布安全更新和补丁,以修复已知的安全漏洞和提升系统稳定性。用户可以通过APT命令自动更新系统,确保其软件

Zookeeper数据备份在Debian上怎么实现Zookeeper数据备份在Debian上怎么实现Apr 13, 2025 am 11:18 AM

在Debian上实现Zookeeper数据备份可以通过以下几种方法:手动备份停止Zookeeper服务:在备份配置之前,需要停止Zookeeper服务,以确保数据的一致性。可以使用以下命令停止Zookeeper服务:sudosystemctlstopzookeeper复制配置文件和数据目录:Zookeeper的配置文件通常位于/etc/zookeeper/conf目录

Debian OpenSSL如何生成密钥对Debian OpenSSL如何生成密钥对Apr 13, 2025 am 11:15 AM

在Debian系统上使用OpenSSL生成密钥对非常简单。以下是生成RSA密钥对的步骤:打开终端(Terminal)。输入以下命令来生成一个新的私钥(privatekey):opensslgenrsa-outprivate_key.pem2048这里,private_key.pem是你想要保存私钥的文件名,2048表示密钥的长度(以位为单位)。你可以根据需要选择不同的

Debian Hadoop权限设置有哪些要点Debian Hadoop权限设置有哪些要点Apr 13, 2025 am 11:12 AM

在Debian上设置Hadoop权限时,需要考虑以下几个要点:用户和用户组管理:创建用户和用户组,以便在集群中进行管理。可以使用useradd和groupadd命令来创建用户和用户组。设置用户的主目录和登录shell,使用usermod命令修改用户信息。文件和目录权限设置:使用ls-l命令查看文件或目录的权限。使用chmod命令修改权限,可以使用数字模

Debian OpenSSL如何进行数字签名验证Debian OpenSSL如何进行数字签名验证Apr 13, 2025 am 11:09 AM

在Debian系统上使用OpenSSL进行数字签名验证,可以按照以下步骤操作:准备工作安装OpenSSL:确保你的Debian系统已经安装了OpenSSL。如果没有安装,可以使用以下命令进行安装:sudoaptupdatesudoaptinstallopenssl获取公钥:数字签名验证需要使用签名者的公钥。通常,公钥会以文件的形式提供,例如public_key.pe

如何检查Debian OpenSSL版本安全性如何检查Debian OpenSSL版本安全性Apr 13, 2025 am 11:06 AM

要检查Debian系统上OpenSSL版本的安全性,您可以按照以下步骤操作:打开终端:在Debian系统上打开终端。更新包列表:确保您的包列表是最新的,运行以下命令:sudoaptupdate检查OpenSSL版本:使用以下命令来检查当前安装的OpenSSL版本:opensslversion检查已知漏洞:您可以使用openssls_client命令来测试与

Debian OpenSSL如何配置HTTPS服务器Debian OpenSSL如何配置HTTPS服务器Apr 13, 2025 am 11:03 AM

在Debian系统上配置HTTPS服务器涉及几个步骤,包括安装必要的软件、生成SSL证书、配置Web服务器(如Apache或Nginx)以使用SSL证书。以下是一个基本的指南,假设你使用的是ApacheWeb服务器。1.安装必要的软件首先,确保你的系统是最新的,并安装Apache和OpenSSL:sudoaptupdatesudoaptupgradesudoaptinsta

Debian OpenSSL更新有哪些注意事项Debian OpenSSL更新有哪些注意事项Apr 13, 2025 am 11:00 AM

更新OpenSSL是确保系统安全性的重要步骤,但在进行更新时,需要注意以下几点以确保更新过程顺利且系统不受影响:更新前的准备备份重要数据:在进行任何系统更新之前,务必备份重要数据,以防更新过程中出现问题导致数据丢失。检查当前OpenSSL版本:了解当前OpenSSL的版本和已知的安全漏洞,以便选择合适的更新版本。依赖关系检查:确保系统上安装了所有必要的依赖包,以避免更新失败。更新步骤

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具