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. C#多线程案例基础

    C#多线程案例基础(转) 在学习多线程之前,我们先来看几个概念: 1,什么是进程?    当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源,当然一个程序也可能开 ...

  2. makefile 中定义宏位置需要注意一下

    CUR_DIR = $(shell pwd) CFLAGS = -g -Wall GCC = gcc GXX = g++ TARGET = exe.out SRC_FILES += $(shell f ...

  3. SQL2005中使用identity_insert向自动增量字段中写入内

    摘自: http://www.aspbc.com/tech/showtech.asp?id=1117 SQL2005以前的数据库是不允许向自动增量字段中写入内容的,ACCESS也不行,但在SQL200 ...

  4. IIS HTTP文件服务器搭建步骤

    利用IIS搭建HTTP文件服务器,可下载.上传(用户名验证) 1.右键网站,添加应用程序 2.物理路径,选择系统的目录配置,上一层 别名:CAPI3FileService 3.效果如下: 4.(以下步 ...

  5. C++类成员函数的 重载、覆盖和隐藏区别

    重载:成员函数被重载的特征: (1)相同的范围(在同一个类中): (2)函数名字相同: (3)参数不同: (4)virtual 关键字可有可无. #include <iostream> u ...

  6. 个人博客实现Archives查询小记

    这两天正在做博客,刚刚遇到一个问题,就是需要在主页实现文档分类功能,即通过日期将文章进行按日期进行分类. 比如这样的: 我个人的想法是,查询所有文章的日期,然后将日期进行格式化,只留下年份和月份,然后 ...

  7. 2014年第五届蓝桥杯试题C/C++程序设计B组——李白打酒

    题目描述: 标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共 ...

  8. Winform下WebBrowser 编辑模式 监听键盘按键事件

    最近使用 WebBrowser 做了个富文本编辑器(其实网上有很多很多).例如下面这个玩意(不要在意界面神马的) WebBrowser在编辑模式下可以有一些HTML标签的功能,改变字体大小颜色等等等. ...

  9. 服务器下自动备份MySQL

    Linux下 service crond restart */ * * * * /home/mysqlbackup.sh >/home/runssh.log backup.sh #bin/bas ...

  10. Using-jqGrid-s-search-toolbar-with-multiple-filter

    http://www.codeproject.com/Articles/58357/Using-jqGrid-s-search-toolbar-with-multiple-filter