命令read

read命令是一个bash命令,它用于从键盘或标准输入中读取文本.我们可以使用read以交互的形式读取来自用户的输入.并且read还提供一种不需要按回车就能够输入参数的方法.

read可以从标准输入中读取单独的一行,或者使用-u选项,从文件描述符FD中读取.并且这单独的行被分隔成多个域,第一个词被赋值给第一个变量,第一个赋值给第二个变量,以此类推,直到剩下的所有词都赋值给最后一个变量.如果没有提供name变量,则读取的行被存放在REPLY变量中

用法: read [option]… [function]… [name]…

选项:

    -a arrary  将字符赋值给ARRARY数组变量的序列下表成员,从零开始

    -d delim  持续读取直到读入DELIM变量中的第一个字符,而不是换行符

    -e    在一个交互式shell中使用readline获取行

    -i text 使用TEXT文本作为readline的初始文字

    -n nchars    读取语句中的n个字符并且存入变量中

    -N nchars    在准确读取n个字符之后返回,除非遇到了文件结束符或者读超时,任何分隔符都被忽略

    -p prompt  用于显示提示信息,并且末尾不带换行符

    -r    不允许反斜杠转义任何字符

    -s    不显示终端的任何输入

    -t timeout 如果在timeout秒内没有读取一个完整的行则超时并且返回失败信息.TMOUT变量的值是默认的超时时间.timeout可以是小数.如果timeout是0,那么仅当在指定的文件描述符上输入有效的时候,read才会返回成功.如果超过了超时时间,则返回状态码大于128

    -u fd  从文件描述符FD中读取,而不是标准输入 

实战演练:

1、从下面的语句中读取n个字符并存入变量var中

    read -n number_of_chars var

    例如   read -n 2 var

         echo $var

2、用无回显的方式读取密码

    read -s var

3、显示提示信息

    read -p “enter input:” var

4、在特定时限内读取输入,超时会返回

    read -t timeout var

例如: read -t 2 var  

5、用特殊的定界符作为输入行的结束

    read -d “:” var

例如: read -d “:” var






 

 

原创文章,作者:black_fish,如若转载,请注明出处:http://www.178linux.com/33389

(0)
black_fishblack_fish
上一篇 2016-08-12
下一篇 2016-08-12

相关推荐

  • Linux发行版概述

    Linux发行版概述 Linux发行版有数百种之多,最主流的三个分支为Debain、Slackware、RedHat Debain Debain是三大主流发行版中唯一由社区维护的版本,无商业版本,相对较为轻巧,对使用者的技术要求较高 * Ubuntu、Knopix为Debian的主要子分支,其中Knopix是以安全著称的 Slackware(SUSE) SU…

    Linux干货 2017-07-02
  • week5:grep命令和find命令的应用

    1.显示当前系统上root、fedora或user1用户的默认shell;     ~]# grep -E "^(root|fedora|user1):" /etc/passwd|cut -d/ -f4 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hel…

    Linux干货 2016-11-28
  • Linux终端类型

    Linux系统的终端主要包括控制台终端、控制终端、串口终端、伪终端、虚拟终端。 1、控制台终端(/dev/console)    在Unix系统中,计算机显示器通常被称为控制台终端。Console与虚拟终端相关联,内核将信息送到控制台终端上(/dev/console), 通过与console相关联的虚拟终端将信息显示到屏幕上。不管当前正在…

    Linux干货 2016-10-19
  • keepalived高可用双主lvs-dr模型集群

    环境 centos6.8 在keepalived服务器上安装keepalived RS服务器上安装nginx ,安装过程省略 为了便于实验,四台机器将关闭iptables和selinux 配置如下: K1: #修改keepalived配置文件 vim /etc/keepalived/keepalived.conf ! Configuration File f…

    2017-05-13
  • History的作用及调用历史命令的快捷方式

    History的作用及调用历史命令的快捷方式 M21-陆东贵 CentOS 7.2 命令历史:shell进程会在其回话中保存此前用户提交执行过的命令; history命令:命令历史; 命令语法:history [-c] [-d 偏移量] [n] 或           …

    Linux干货 2016-10-19
  • 源码编译安装http

    为什么需要编译安装软件?   1、软件在编译期间需要配置:比如需要指定安装路径,定制模块等功能;   2、软件需要统一安装路径:在编译安装时可以方便指定这些路径;   3、需要最新的版本:对于某些软件来说可能需要最新的版本。 编译前的准备工作:     1、安装开发工具:make、gcc等…

    Linux干货 2016-08-24