Linux Shell基础 read命令
read命令
read 命令用于接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中,read 命令格式如下:
[root@localhost ~]# read [选项] [变量名]
选项:
- -p "提示信息":在等待read输入时,输出提示信息;
 - -t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间;
 - -n 字符数:read命令只接收指定的字符数就会执行;
 - -s: 隐藏输入的数据,适用于机密信息的输入;
 
变量名:
- 变量名可以自定义。如果不指定变量名,则会把输入保存到默认变量REPLY中;
 - 如果只提供了一个变量名,则将整个输入行赋予该变量;
 - 如果提供了一个以上的变量名,则输入行分为若干字,一个接一个地赋予各个变量,而命令行上的最后一个变量取得剩余的所有字;
 
read命令示例
[root@localhost sh]# vi read.sh
#!/bin/bash
read -t -p "Please input your name:" name
#提示"请输入姓名"并等待30秒,把用户的输入保存到变量name中
echo "Name is $name"
#看看变量"$name"中是否保存了你的输入
read -s -t -p "Please enter your age:" age
#提示"请输入年龄"并等待30秒,把用户的输入保存到变量age中
#年龄是隐私,所以我们用"-s"选项隐藏输入
echo -e "n"
#调整输出格式,如果不输出换行,则一会儿的年龄输出不会换行
echo "Age is $age"
read -n -t -p "Please select your gender[M/F]:" gender
#提示"请选择性别"并等待30秒,把用户的输入保存到变量gender中
#使用"-n 1"选项只接收一个输入字符就会执行(无须按回车键)
echo -e "\n"
echo "Sex is $gender"
执行脚本:
[root@localhost sh]# chmod read.sh
赋予执行权限
[root@localhost sh]#./read.sh
#执行脚本
Please input your name: zhang san
#在read的提示界面输入姓名
Name is zhang san
#"$name"变量中保存了我们的输入
Please enter your age:
#因为加入了"-s"选项,所以输入不会显示在命令行上
Age is
#"$age"变量中保存了我们的输入
Please select your gender[M/F]: M
#因为加入了"-n 1"选项,所以只能输入一个字符
Sex is M
# "$gender"变量中保存了我们的输入
Linux Shell基础 read命令的更多相关文章
- Linux Shell基础(下)
		
Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...
 - Linux shell基础知识(上)
		
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
 - linux shell 基础 使用日志与心得
		
linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示符,其后,跟着解释此脚 ...
 - (linux shell)第二章--命令之乐(一)
		
文章来自于我的个人博客:(linux shell)第二章--命令之乐(一) 上一章我们描写叙述了一些linux shell中须要注意的一些语法.接下来我们開始了解linux shell的经常使用 ...
 - Linux Shell基础 Bash常见命令  history、alias命令以及常用快捷键
		
概述 shell中常见命令history 历史纪录命令:history 命令格式如下: [root@localhost ~]# history [选项] [历史命令保存文件] -c:清空历史命令: ...
 - Linux Shell 基础知识(一)
		
1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍  GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...
 - Linux Shell 05 位置变量(命令行参数)
		
在Linux shell 脚本中可能会用到一些命令行参数,常见如下: $0:脚本名称 $#:执行脚本时传入的参数个数,不包括脚本名称 $@:所有参数 $*:所有参数 $1...$9:第1个参数.... ...
 - linux shell基础语法
		
1.第一个Shell脚本 打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码 ...
 - shell基础--test命令的使用
		
test :用于文件类型检查和变量比较 一.用途: 1.判断表达式 2.判断字符串 3.判断整数 4.判断文件 测试例子: (1).test [root@~_~ day5]# cat test.sh ...
 
随机推荐
- request:getParameter和getAttribute区别
			
getParameter 是用来接受用post个get方法传递过来的参数的.getAttribute 必须先setAttribute.(1)request.getParameter() 取得是通过容器 ...
 - Android实现录屏直播(二)需求才是硬道理之产品功能调研
			
请尊重分享成果,转载请注明出处,本文来自Coder包子哥,原文链接:http://blog.csdn.net/zxccxzzxz/article/details/54254244 前面的Android ...
 - 整合Thinkphp数据库基本操作CURD,界面datagrid采用EasyUi的Demo
			
1 <?php 2 class CurdAction extends Action{ 3 public function del($id){ 4 ...
 - 集合映射Set(使用xml文件)
			
如果持久类具有Set对象,可以在映射文件中使用set元素映射Set集合. set元素不需要索引元素. List和Set之间的区别是: Set只存储唯一的值. 我们来看看我们如何在映射文件中实现集合: ...
 - c++中sin,cos,arcsin等和在C/C++中使用pi (π) 值
			
先 #include<math.h> 反3角函数有 acos(double),asin(double),atan(double),atan(double,double),返回值 doubl ...
 - 看懂Gradle脚本(4)- Groovy语法之运算符重载
			
继续讨论Task定义 回想一下前一篇文章的样例: task myTask { doLast { println 'hello world!' } } 这段脚本定义了一个名为myTask的任务.而且通过 ...
 - 【BZOJ2213】[Poi2011]Difference DP
			
[BZOJ2213][Poi2011]Difference Description A word consisting of lower-case letters of the English alp ...
 - ST表(离线RMQ)
			
离线RAQ时,预处理为O(n*lgn),查询为O(1)的算法,比较有意思的一种算法 放个模板在这可以随时看 //ST表(离线) //预处理 O(n*lgn) , 查询 O(1) #include &l ...
 - I - Doing Homework again(贪心)
			
I - Doing Homework again Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & ...
 - Axis2Service客户端访问通用类集合List自定义类型
			
Axis2 服务四种客户端调用方式: 1.AXIOMClient 2.generating a client using ADB 3.generating a client using XMLBean ...