read命令:在shell中主要用于读取输入、变量、文本

1. 接受标准输入(键盘)的输入,并将输入的数据赋值给设置的变量
     【按回车键——表示输入完毕】
     【若输入的数据多于设置的变量数,则将多出的部分全部赋给最后一个变量】
     【若没有设置变量,则将输入的数据赋给环境变量REPLAY】

#!/bin/bash
echo -n "Enter your name:"
read name1 name2
echo hello,$name1,$name2 # ./read.sh
Enter your name:taeyeon jessica
hello,taeyeon,jessica

2.  -p 在read命令行中直接print一个提示

#!/bin/bash
read -p "Enter your name:" name1 name2
echo hello,$name1,$name2 # ./read.sh
Enter your name:taeyeon jessica
hello,taeyeon,jessica

 3.  -t 实现计时输入。指定read命令等待输入的秒数。

#!/bin/bash
if read -t -p "Enter your name:" name ## -p后要直接接提示语,注意多选项时怎么用
then
echo hello,$name
else
echo -e "\nsorry,too slow"
fi
exit # ./read.sh
Enter your name:jelly
hello,jelly
# ./read.sh
Enter your name:
sorry,too slow

4. -n   实现计数输入。指定read命令接受输入的数据长度。当超过这个长度,无论按任意键都表示输入结束。
    -n1 表示接受一个字符的输入就退出,不需要按回车键

#!/bin/bash
read -n1 -p "Do you want to continue [y/n]?" y1
case $y1 in
Y|y) echo -e "\nok,continue!";;
N|n) echo -e "\nok,stop!";;
*) echo -e "\nerror choice!"
esac # ./read.sh
Do you want to continue [y/n]?y
ok,continue!
# ./read.sh
Do you want to continue [y/n]?n
ok,stop!
# ./read.sh
Do you want to continue [y/n]?p
error choice!

5. -s 实现隐藏输入。实际是使得输入的数据和背景色一致。常用于接受密码输入时。

#!/bin/bash
read -s -p "Enter you password:" passwd
echo -e "\n"
echo "haha,your passwd is:$passwd" [root@sxjy ~]# ./read.sh
Enter you password:
#看不见吧...
haha,your passwd is:aixocm

6. 读取文本中的数据作为read的输入

#!/bin/bash
count=
cat gg.txt | while read name #逐行读取gg.txt文本中的内容给变量name
do
echo "$count:$name"
count=$[$count+]
done # ./read.sh
:taeyeon
:jessica
:sunny

[shell基础]——read命令的更多相关文章

  1. shell基础--test命令的使用

    test :用于文件类型检查和变量比较 一.用途: 1.判断表达式 2.判断字符串 3.判断整数 4.判断文件 测试例子: (1).test [root@~_~ day5]# cat test.sh ...

  2. [shell基础]——find命令

    find命令选项 -name 按照文件名查找 -type 查找某一类型的文件(b 代表设备块:d 目录:c 字符设备文件:l 符号(软)链接文件:f 普通文件) -size 查找文件长度或者大小 -p ...

  3. [shell基础]——sed命令

    关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...

  4. [shell基础]——echo命令

    echo命令:在shell中主要用于输出 1. -n     不换行的显示结果(默认是换行的) 2. -e " "  支持双引号中使用一些特殊字符 常用的特殊字符有 \a 发出警告 ...

  5. [shell基础]——sort命令

    sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项      -c 测试文件是否已经被排序 -r  逆向排序      -n 按照数字数值大小排序 -t  指定分割 ...

  6. [shell基础]——uniq命令

    uniq命令常见选项      去除重复行      -u  显示不重复的行      -d  显示有重复的行      -c  打印每一行重复的次数 测试文本内容如下: # cat 4.txt 11 ...

  7. [shell基础]——cut命令

    cut命令常见选项

  8. shell基础--cat命令的使用

    一.cat的常用用法 1.总结 2.实验 (1).非交互式编辑 [root@~_~ day5]# cat > cattest.sh <<STOP > hello > ST ...

  9. Shell基础-Bash命令类型

    Bash命令大体可以分为两类: 第一类是可执行文件,例如ls等 第二类是Bash内建命令,常见echo,cd等 bash命令优先级表:1别名  由alias指定 2关键字 3函数  由function ...

随机推荐

  1. hbase基本结构

    HBASE  基本结构一.overview1. hbase <=> NOSQL     不错,hbase 就是某种类型的nosql 数据库,唯一的区别就是他支持海量的数据.    hbas ...

  2. com.google.inject.CreationException: Guice creation errors

    错误的原因:xml文件中方法名重复或错误

  3. Android IOS WebRTC 音视频开发总结(六三)-- 2016国内IM云服务行业分析

    本文主要国内IM云服务行业分析,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 谈到IM我们最先想到的是qq和微信 ...

  4. Rich控件一

    Calendar控件 Calendar控件用来在Web页面中显示日历中的可选日期,并显示与特定日期关联的数据. 控件声明代码如下: <asp: Calendar id=" Calend ...

  5. mvc路由设置参数配置类似于url重写

    1.新建的mvc项目中Global.asax 2.在另外一个控制器中的视图中 3. 4.

  6. CSS中属性position位置详解功能讲解与实例分析

    position有五个值:static.relative.absolute.fixed.inherit. static 是默认值.就是按正常的布局流从上到下从左到右布局,平常我们做网页制作时,没有指定 ...

  7. C#获取本周周一的日期

    /// <summary> /// 获取本周的周一日期 /// </summary> /// <returns></returns> public st ...

  8. 在HTML文件中加载js

    js加载只分为两种: 1.全局js,放在<head>标签里面,整个页面很多都用到的,它是优先加载的. 2.局部js,放在</html>结束标签以内的任何位置,它是第二加载的.

  9. C#中string[ ] args是什么意思,又有什么用呢

    转载:http://blog.sina.com.cn/s/blog_8b7263d1010172jv.html C#控制台程序中static void Main(string[ ] args) str ...

  10. GemFire 入门篇1:GemFire 是什么?

    一.GemFire是什么?   如果你了解Redis或memCached,那么恭喜,你很快就能理解GemFire是什么,没错,你可以把它理解为一个增强版的Redis,具体在哪些方面增强,我们日后慢慢聊 ...