read命令

作用

从标准输入中读取一行。

语法

read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

描述

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量。

标志

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

-s 输入回显设置,能够使read命令中输入的数据不显示在监视器上。

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

-p 输出提示语句。

-n 命令计数,指定read后面的变量所接收的字符个数,而不是等到读取换行符,但是分隔符仍然有效。

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

-t 计时输入,指定read命令等待输入的秒数,当计时满时,read命令返回一个非零退出状态。

-a 将词语赋值给 ARRAY 数组变量的序列下标成员,从零开始。

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

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

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

退出状态

这个命令返回下列出口值:

0 成功完成;

>0 检测到文件结束符或一个错误发生。

示例

下列脚本打印一个文件,这个文件中每行的第一个字段被移动到本行的末尾。

while read -r xx yy

do

print printf "%s %s/n" $yy $xx

done < InputFile读取一行,把它分成字段,并使用 "Please enter: " 作为提示符,请输入:

read word1?"Please enter:  " word2系统显示:

Please enter:

You enter:

hello world变量 word1 的值应该是 "hello",变量 word2 应该是 "world."

为创建一个共同进程,用 print -p 写到共同进程,并用 read -p 从共同进程中读取输入,请输入:

(read; print "hello $REPLY")

print -p "world"

read-p line变量 line 的值应该是 "hello world."

为把输入行的副本保存为历史文件中的一个命令,请输入:

read -s line < input_file如果输入文件包含 "echo hello world," ,那么在历史记录文件中将会把 "echo hello world" 保存为一个命令。

每日linux命令学习-read命令的更多相关文章

  1. 每日linux命令学习-head命令和tail命令

    本节主要学习了linux文件浏览的相关命令,包括cat.less.more.read.tail等,由于本人经常使用cat.less.more命令,已经较为熟悉,所以本节重点学习head命令和tail命 ...

  2. Linux入门学习 常用命令

    cd命令 功能是切换到指定的目录:命令格式:cd [目录名]有几个符号作为目录名有特殊的含义:"/"代表根目录.".."代表上一级目录."~" ...

  3. Linux命令学习-ps命令

    Linux中,ps命令的全称是process status,即进程状态的意思,主要作用是列出系统中当前正在运行的进程信息. ps命令的功能很强大,参数也非常多,下面只举几个简单的实例. 显示所有进程信 ...

  4. Linux命令学习-tail命令

    Linux中,tail命令的全称就是tail,主要用于监控日志文件. 对于一个正在运行应用来说,其对应的log日志文件肯定是在不断的更新,此时,便可通过tail命令来动态显示日志文件的内容.假设当前目 ...

  5. Linux命令学习-history命令

    Linux中,history命令的作用是显示历史记录和执行过的命令. 查看历史所有命令执行记录 history 查看最近的13条历史执行命令 history 13 执行历史记录中,序号为123的命令 ...

  6. Linux命令学习-tar命令

    Linux中,tar命令的全称是tape archive,主要作用是压缩和解压文件. 参数说明: -c 创建新的压缩档案 -x 解压档案 -t 列出压缩档案的内容 -z 使用gzip来解压和压缩,文件 ...

  7. Linux命令学习-cp命令

    Linux中,cp命令的全称是copy,主要作用是复制文件或文件夹,类似于Windows下的复制功能. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文件夹test ...

  8. Linux命令学习-mv命令

    Linux中,mv命令的全称是move,主要作用是移动文件或文件夹,类似于Windows下的剪切功能,同时还可以用于修改名字. 假设当前处于wintest用户的主目录,路径为 /home/wintes ...

  9. Linux命令学习-ls命令

    Linux中,ls命令的全称是list,主要作用是列出当前目录下的清单. 列出Linux根目录下的所有目录 ls / 列出当前目录下所有文件夹和文件 ls 列出当前目录下所有文件夹和文件(包括以&qu ...

  10. Linux命令学习-mkdir命令

    Linux中,mkdir命令的全称是make directory,即创建目录的意思. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文件夹testA,进入testA ...

随机推荐

  1. 多线程——newCachedThreadPool线程池

    newCachedThreadPool线程池: 理解: 1).newCachedThreadPool可以创建一个无限大小的线程池(实际上是一个可缓存线程池).      可以通过Executors的静 ...

  2. word2vec 评测 sg=0 sg=1 size=100 window=3

    1.评价sg=0与sg=1的区别    结果原文:sg_difference.txt sg=0     sg=1 绑定                         1 关联            ...

  3. Ubuntu16.04源的问题

    今天执行下列语句 sudo apt-get update报错 安装redis时 sudo apt-get install redis-server报错 报错内容大致如下: 在网上查了一下是源的问题,我 ...

  4. 使用dynamic引发的异常:无法对 null 引用执行运行时绑定

    今天上午运营反映有商户的账单没有生成. 查看日志,在批量生成账单服务执行过程中,因为如下异常而中断了: 跑批异常 Microsoft.CSharp.RuntimeBinder.RuntimeBinde ...

  5. 第二章 CSS基本属性

    1.CSS:层叠样式表 一个元素允许同时应用多种样式,页面元素最终的样式即为多种样式的叠加效果. 2.CSS样式优先级 行内样式表>内部样式表>外部样式表[就近原则] id选择器>类 ...

  6. Semaphore wait has lasted > 600 seconds

    解决方案:set global innodb_adaptive_hash_index=0;

  7. UVa-116 Unidirectional TSP 单向旅行商

    题目 https://vjudge.net/problem/uva-116 分析 设d[i][j]为从(i,j)到最后一列的最小开销,则d[i][j]=a[i][j]+max(d[i+1][j+1], ...

  8. [1]windows 内核情景分析---说明

    本文说明:这一系列文章(笔记)是在看雪里面下载word文档,现转帖出来,希望更多的人能看到并分享,感谢原作者的分享精神. 说明 本文结合<Windows内核情景分析>(毛德操著).< ...

  9. 54. Spiral Matrix(剑指offer 19)

    Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...

  10. STL之List容器

    1.List容器 1) list是一个双向链表容器,可高效地进行插入删除元素. 2)list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符.It++(ok) it+5(err) 3)头 ...