介绍linux中read的用法

1、基本读取

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

的最简单形式::

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

登录后复制

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

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

#!/bin/bashread -p "Enter your name:" nameecho "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/bashif read -t 5 -p "please enter your name:" namethen echo "hello $name ,welcome to my script"elseecho "sorry,too slow"fiexit 0

登录后复制

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

#!/bin/bashread -n1 -p "Do you want to continue [Y/N]?" answercase $answer inY | y)  echo "fine ,continue";;N | n)  echo "ok,good bye";;*) echo "error choice";;esacexit 0

登录后复制

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

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

 

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

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

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

#!/bin/bashread  -s  -p "Enter your password:" passecho "your password is $pass"exit 0

登录后复制

4、读文件

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

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

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

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

例子::

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

登录后复制

以上就是介绍linux中read的用法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3165346.html

(0)
上一篇 2025年3月30日 21:18:29
下一篇 2025年3月30日 21:18:35

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 解决linux echo命令以及linux echo命令提示权限不够的方法

    linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法。下面通过本文给大家介绍linux echo命令以及linux echo命令提示权限不够的解决办法,感…

    编程技术 2025年3月30日
    100
  • 详解linux利用read命令获取变量中的值的操作方法

    对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解,下面这篇文章主要给大家介绍了关于linux如何利用read命令来获取变量中值的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。 …

    编程技术 2025年3月30日
    100
  • Linux命令教程之比较搜索命令whereis与which的区别

    这篇文章主要介绍了linux命令搜索命令whereis与which的区别的相关资料,这里举例说明该如何区别他们之家的用法,需要的朋友可以参考下 Linux命令搜索命令whereis与which的区别 一 whereis 1、语法 where…

    编程技术 2025年3月30日
    100
  • 解决Linux中unzip解压时中文乱码

    这篇文章主要介绍了linux 中unzip解压时中文乱码的解决办法的相关资料,这里提供两种解决办法,希望能通过本文帮助到大家,需要的朋友可以参考下 Linux 中unzip解压时中文乱码的解决办法 当我们在linux中解压一个含有中文名字的…

    编程技术 2025年3月30日
    100
  • Linux shell ftp按照日期去下载文件的方法

    最近做项目遇到这样的需求要求ftp获取远程数据的文件,根据文件的创建时间点下载文件。下面小编给大家分享知识点小结,感兴趣的朋友要求看看吧 需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件。 可以自行扩展根据文件的大小等其他需求。…

    编程技术 2025年3月30日
    100
  • Linux grep与正则表达式的简单介绍

    grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。下面通过本文给大家分享linux grep与正则表达式的相关知识,感兴趣的朋友一起看看吧 grep简介   grep 是一种强大的文本搜索工具,它能使用正…

    编程技术 2025年3月30日
    100
  • linux中关于gzip命令的实例分析

    gzip是在linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。接下来通过本文给大家分享linux 中的gzip命令,感兴趣的朋友一起看看吧 gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,…

    编程技术 2025年3月30日
    100
  • linux中关于ls命令的实例详解

    ls命令是linux下最常用的命令。ls命令就是list的缩写。下面通过本文给大家分享linux 中ls命令详解,感兴趣的朋友一起看看吧 ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以…

    编程技术 2025年3月30日
    100
  • linux中关于mkdir命令的详解

    mkdir 是一个用来在 linux 系统下创建目录的命令。此命令属于内建命令。接下来通过本文给大家分享linux mkdir命令详解,感兴趣的朋友一起看看吧 mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的…

    编程技术 2025年3月30日
    100
  • Linux性能测试之pmap命令详解

    pmap命令用于显示一个或多个进程的内存状态,下面通过本文给大家分享linux性能测试 pmap命令详解,需要的朋友参考下吧 名称:  pmap – report memory map of a process(查看进程的内存映像信息) 登…

    编程技术 2025年3月30日
    100

发表回复

登录后才能评论