文档章节

shell学习之获取用户的输入命令read

woshixin
 woshixin
发布于 09/19 00:15
字数 560
阅读 5
收藏 0

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。

read命令从标准输入(键盘)或另一个文件描述符中接受输入。在收到输入后,read命令会将数据放进一个变量,下面是read命令的最简单用法。

echo的 -n参数是为了换行

输出:

如果不是用-n,也可以直接read命令的 -p 参数,可以改成如下:

输出:

read命令会将提示符后输入的所有数据分配给单个变量,要么你就指定多个变量。输入的每个 数据值都会分配给变量列表中的下一个变量。如果变量数量不够,剩下的数据就全部分配给最后 一个变量。

输出:

也可以在read命令行中不指定变量。如果是这样,read命令会将它收到的任何数据都放进 特殊环境变量REPLY中。

输出:

使用read命令时要当心。脚本很可能会一直苦等着脚本用户的输入。如果不管是否有数据 9 输入,脚本都必须继续执行,你可以用-t选项来指定一个计时器。-t选项指定了read命令等待。

输入的秒数。当计时器过期后,read命令会返回一个非零退出状态码。

输出根据情况是否超时是以下两种:

read命令有一些选项支持定制脚本的输入数据,比如隐藏输入数据选项 -s

有什么讨论的内容,可以加我公众号:

 

© 著作权归作者所有

共有 人打赏支持
woshixin
粉丝 23
博文 225
码字总数 201232
作品 0
杭州
程序员
Linux Shell基础知识,你想知道的都在这里

  小编提示:此篇文章阅读时间为15分钟左右,可先收藏后阅读。   01/Linux 的江湖地位   Linux 作为一个全球用户超过14亿的操作系统,它的强大与神奇就不必多说了,混在IT界 Linux是可...

恒生开发者社区
2017/03/10
0
0
Linux0基础深度解析shell简介01

一、shell简介 ------------ 用户 | 终端 (相当于bash的接口) | shell(壳) bash 大多数Linux系统默认的shell环境 | 内核 用户通过终端输入命令,提交给shell,再调用内核中的系统功能对命...

木玛by
2017/11/17
0
0
shell学习之for循环语句【初学者】

前言:日常系统管理工作中有大量需要重复运行的指令,shell编程提供了for、while、until、select循环语句以实现特定指令的反复执行功能,在所有的循环语句中,变量必须要有初始值,每次运行命...

白羊IT
2017/04/26
0
0
第二章 从键盘或文件中获取标准输入:read命令

第二章 从键盘或文件中获取标准输入:read命令 read命令 从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读多个变量的值,变量和输入的值都需要使用空格隔开。...

506554897
06/29
0
0
shell基本命令总结

一 Linux shell脚本 shell : 命令行解释器 (1)sh (2)csh (3)ksh (4)bash shell 脚本:一堆命令集合,这些命令完成一件特定的事情 二 运行一个shell脚本文件 1.添加可执行权限,然后运行 ./shel...

baiweibi
2017/12/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu18.04 安装最新版WPS

1.手动卸载libreoffice:sudo apt-get remove --purge libreoffice* 2.官网下载WPS和字体: WPS:http://wps-community.org/download.html 字体:http://wps-community.org/download.html?vl......

AI_SKI
17分钟前
1
0
数据结构(算法)-图(深度优先搜索 DFS)

#include <iostream>using namespace std;#define MaxVex 30typedef char VertexType;typedef struct vexNode adjList[MaxVex];struct edgeNode{int adjvex;//邻接点......

ashuo
22分钟前
0
0
1024 搞事倒计时!距程序员节还有 2 天!

详情请关注微信公众号:七牛云

七牛云
23分钟前
0
0
Java泛型方法

1. 定义泛型方法 (1) 如果你定义了一个泛型(类、接口),那么Java规定,你不能在所有的静态方法、静态初块等所有静态内容中使用泛型的类型参数。例如: public class A<T> { public st...

两广总督bogang
23分钟前
0
0
如何解决JavaScript中0.1+0.2不等于0.3

console.log(0.1+0.2===0.3)// true or false??   在正常的数学逻辑思维中,0.1+0.2=0.3这个逻辑是正确的,但是在JavaScript中0.1+0.2!==0.3,这是为什么呢?这个问题也会偶尔被用来当...

peakedness丶
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部