命令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

相关推荐

  • 用户和组管理 第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d' ' -f1 | sort -u who:查看当前已经登陆的所有用户的详细信息 cut -d ' ' -f1:以空格为界显示每行第一列 sort -u :在输出行中去除重复行。 2、取出最后登录到当前系…

    Linux干货 2017-02-13
  • linux进程管理相关工具

    linux进程管理相关工具: pstree ,ps ,pidof ,pgrep ,top ,htop ,glances ,pmap ,vmstat ,kill ,killall ,job ,bg ,fg ,nohup ,nice ,renice ,pkill…… 1、pstree:查看进程树 2、ps:显示执行命令时间的进程状态信息 /proc 目录下存放内…

    Linux干货 2016-09-11
  • 第十周

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 1.POST 开机加电自检,对计算机的cpu,硬盘,内存等进行检测。 2.BIOS 对引导程序进行探测,并把控制权交给引导程序。 3.MBR Master bootloader record主引导程序.通常位于硬盘第一扇区/dev/hda(0,0)或/dev/sda(0,0). 此阶…

    Linux干货 2017-03-30
  • MAN手册、Linux文件系统等介绍

    适合人群:Linux初学者 主要内容: Man手册使用介绍        FHS文件系统介绍        Linux文件类型介绍        随堂笔记 操作环境:CentOs 6.8 ☆ MAN 手册介绍 man手册…

    Linux干货 2016-10-18
  • linux用户和组管理

    linux用户和组管理 类Unix系统的设计初衷就是为让多用户同时工作,所以也迫使Linux系统有了极强的安全性,在前面安装红帽RHEL7操作系统时还特别要求“设置root用户密码”,而root用户是存在于所有类UNIX系统中的”超级用户”。 用户管理 root账户介绍(超级管理员) root用户拥有极高的系统所有权,能够管理系统的各项功能,如添加/删除用户…

    Linux干货 2016-09-05
  • 非对称密钥加密解密

    两台计算机一台用公钥加密
    另一台解密

    2018-01-08