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. Struts2使用ModelDriven后JSON数据返回不正确

    在struts.xml中加入<param name="root">action</param> <result name="exist&qu ...

  2. 使用py2exe打包你的py程序

    软件环境:python3.3.4 + PyQt5 使用py2exe打包写好的py文件,过程如下: 在你要打包的代码文件(比如sample.py)的同文件夹建立一个python代码文件(比如setup. ...

  3. Server2003安装SP2补丁提示密钥无效的解决方法

    机器一直没有打SP2的补丁.几天要安装一个程序,还非要SP2不可.没办法.居然打补丁的时候出现了这样的错误信息: --------------------------- Service Pack 2 ...

  4. mysql触发器关联表更新

    mysql> create table voteItem -> ( -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> titl ...

  5. 建立交叉编译环境(arm-linux-gcc)

    linux系统内核版本:2.6.32-358.el6.x86_64(在64位系统上安装32位程序需要另外安装一些库) arm-linux-gcc版本:本文安装的是友善之臂tiny6410光盘中自带的a ...

  6. 空间session失效的解决方法

    今天访问自己的网站的时候(by thinkphp),突然发现身份验证失效了,Session无法跨页,而且登陆的时候总是提示验证码错误(验证码也是通过Session传递的),才意识到可能是Session ...

  7. Win7下 httpRequest带证书请求https网站

    常规情况下创建Web请求,并获取请求数据的代码如下: WebRequest req = WebRequest.Create(url); req.Timeout = 15000; WebResponse ...

  8. echarts简单使用案例

    先上效果图:

  9. JSON (仅限本地)

    <script type="text/javascript"> setInterval(function() { $("#content").loa ...

  10. 西门子MES解决方案SIMATIC IT在乳制品行业小试牛刀

    竞争的白热化,紧缩的产品利润,食品安全保障,越来越苛刻的法规要求和全球化的市场与品牌维持的重要性对乳品行业的企业提出了更高的要求,实施 MES将是企业唯一的出路. 自从“十一五”制造业信息化为MES正 ...