命令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文本编辑器不同于nano的是其功能非常强大,强大的功能还支持各种快捷键,让我们编辑文本的时候更方便更快捷。 本文将会按照下图所展示的功能来对命令一一讲解,           打开文件:       &n…

    Linux干货 2016-08-11
  • 对软连接进行cp,rm

    软连接的原理 图1 由 1 号inode 读取到连结档的内容仅有档名,根据档名链接到正确的目录去取得目标文件的inode , 最终就能够读取到正确的数据了。 软连接的使用 创建软连接,从下图可以看出软连接的大小是11个字节,对比/etc/passwd和passwdlns可知他们不是同一个文件。 在复制cp的时候对软连接的处理 对指向文件的的软连接:使用cp …

    Linux干货 2017-02-25
  • Bash Shell脚本基础-变量类型-位置变量

    Bash Shell脚本基础–变量类型–位置变量   §·bash shell脚本编程概述: 1 §·bash shell脚本中的变量 2     *什么是变量 2     *变量的类型 2     *ba…

    Linux干货 2016-08-12
  • Bash Shell之数组简介

    Bash Shell之数组简介   一、数组基本概念   数组是内存中的存储空间,连续的多个存储单元;bash中只支持一维数组,支持稀疏格式 ,参数个数没有限制。 二、数组基本语法格式   1、声明一个数组          declare…

    Linux干货 2015-05-11
  • 网络管理之路由实现

    一.概述 跨网络通信:路由     路由分类:         主机路由         网络路由      …

    Linux干货 2016-09-19
  • 用户与组

    一、用户与组的概念 1、Linux多用户,多任务的特性    Linux是多用户多任务操作系统,多用户多任务就是可在系统上建多个用户,多个用户可同一时间同一个系统互不影执行的响各自不同的任务。例如linux服务器上有root、www、ftp,四个用户。同一时间内,root用户在查看系统日志,管理维护系统,www用户在修改自己的网页程序,f…

    Linux干货 2016-10-25