命令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 09:01
下一篇 2016-08-12 09:01

相关推荐

  • Vim编辑工具用法的总结

    描述:    Vim是一款强大的命令行界面的文本编辑器,是vi的高级版本,先说下学习它的原因:  1,所有的UNIX Like 系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;  2,很多软件的编辑接口都会主动调用vi  3,vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设…

    Linux干货 2016-08-11
  • Linux高级磁盘管理-RAID管理

    在冯诺依曼体系机构中,输入输出要存储的外部磁盘I/O能力实在太低,尤其是企业面对高并发的访问量,在系统内部需要大量调度磁盘的上的网页文件资源,这些都会产生大量的I/O,一个磁盘的I/O能力不管如何提升毕竟是有线的,尤其是机械硬盘;同时为了保障业务的连续性,磁盘故障时必须提供冗余能力,面对这样的实际需求环境,RAID技术产生了,通过组织磁盘阵列方式提供I/O,…

    Linux干货 2016-09-06
  • nmap ncat tcpdump浅析

    nmap 的使用 nmap — 网络探测工具和安全/端口扫描器 Usage:nmap [ <扫描类型> …] [ <选项> ] { <扫描目标说明> } 扫描目标说明 -iL inputfilename (从列表中输入) 从 inputfilename中读取目标说明 [root@localhost&…

    Linux干货 2017-03-15
  • linux防火墙介绍

    一、前言firewall(防火墙):工作在网络进入或者流包,进出的网络数据包进行一定的规则进行检查过滤系统。包括iptables和netfilter组件。iptables 是与 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统系统中更好地控制 IP 信息包过滤和…

    2017-04-30
  • 0811linux基础小记(shell编程基础)

    1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 #!/bin/bash echo "hostname: `hostname`" echo "OS VERSION: `cat /etc/issue`" e…

    Linux干货 2016-08-15
  • shell脚本编程的执行语句

    顺序执行     从上到下逐条执行命令,执行完所有命令及退出。 选择执行     (1)&&,||     &&:代表and,&&左侧为真右侧则执行     ||:代表or…

    Linux干货 2016-08-24