作者:子非木

链接:https://www.cnblogs.com/wangtao1993/p/6136169.html

1、read基本读取

  1 #!/bin/bash  2 #testing the read command  3   4 echo -n "Enter you name:"   #echo -n 让用户直接在后面输入   5 read name  #输入的多个文本将保存在一个变量中  6 echo "Hello $name, welcome to my program."                                      

执行:

# ./read.shEnter you name: wangtaoHello wangtao, welcome to my program.

2、read -p (直接在read命令行指定提示符)

  1 #!/bin/bash  2 #testing the read -p option  3 read -p "Please enter your age: " age  4 days=$[ $age * 365 ]  5 echo "That makes you over $days days old!"

执行:

# ./age.shPlease enter your age: 23That makes you over 8395 days old!

3、read -p (指定多个变量)

  1 #!/bin/bash  2 # entering multiple variables  3   4 read -p "Enter your name:" first last  5 echo "Checking data for $last, $first"

执行:

# ./read1.shEnter your name: a bChecking data for b, a

4、read 命令中不指定变量,那么read命名将它收到的任何数据都放在特殊环境变量REPLY中

 1 #!/bin/bash  2 # testing the REPLY environment variable  3   4 read -p "Enter a number: "  5 factorial=1                           6 for (( count=1; count<= $REPLY; count++ ))  7 do  8    factorial=$[ $factorial * $count ]   #等号两端不要有空格  9 done 10 echo "The factorial of $REPLY is $factorial"

执行:

./read2.shEnter a number: 6The factorial of 6 is 720

5、超时, 等待输入的秒数(read -t)

  1 #!/bin/bash  2 # timing the data entry  3   4 if read -t 5 -p "Please enter your name: " name     #记得加-p参数, 直接在read命令行指定提示符  5 then  6     echo "Hello $name, welcome to my script"  7 else  8     echo   9     echo "Sorry, too slow!" 10 fi

执行:

# ./read3.shPlease enter your name: Sorry, too slow!
# ./read3.sh Please enter your name: wangHello wang, welcome to my script

5、read命令对输入的字符判断

  1 #!/bin/bash  2 # getting just one character of input  3   4 read -n1 -p "Do you want to continue [Y/N]? " answer  5 case $answer in  6 Y | y) echo  7        echo "fine, continue on...";;  8 N | n) echo   9        echo "OK, goodbye" 10        exit;; 11 esac   

执行:

# ./read4.shDo you want to continue [Y/N]? yfine, continue on..../read4.shDo you want to continue [Y/N]? nOK, goodbye

6、隐藏方式读取(read -s)

  1 #!/bin/bash  2 # hiding input data from the monitor  3   4 read -s -p "Enter your passwd: " pass   #-s 参数使得read读入的字符隐藏  5 echo   6 echo "Is your passwd readlly $pass?"~                                          

执行:

# ./read5.shEnter your passwd: Is your passwd readlly osfile@206?

7、从文本中读取

  1 #!/bin/bash  2 # reading data from a file  3   4 count=1  5 cat test | while read line  6 do  7    echo "Line $count: $line"  8    count=$[ $count + 1 ]  9 done 10 echo "Finished processing the file"

执行:

 ./read6.shLine 1: The quick brown dog jumps over the lazy fox.Line 2: This is a test, this is only a test.Line 3: O Romeo, Romeo! Wherefore art thou Romeo?Finished processing the file

Linux read的用法相关推荐

  1. Linux下wine用法

    Linux下wine用法 下面是wine的使用方法. 一.要在Linux下运行,wine是必不可少的,所以,请将wine安装到你的系统里. 二.将你的Windows所在的分区加载到某个目录.(本文假定 ...

  2. linux md5sum 的用法(转)

    MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度 ...

  3. Linux export 命令用法

    Linux export 命令用法 Linux export 命令用于设置或显示环境变量. 在 shell 中执行程序时,shell 会提供一组环境变量.export 可新增,修改或删除环境变量,供后 ...

  4. Linux epoll的用法

    Linux epoll的用法 epollfd_create函数 #include <sys/epoll.h>int epoll_create (int __size) 参数 含义 __si ...

  5. Linux中find用法整理

    一.Linux中find常见用法示例 ·find    path    -option    [    -print ]    [ -exec    -ok    command ]    {} /; ...

  6. Linux cat 命令用法

    cat主要有三大功能: 1.一次显示整个文件. $ cat filename 2.从键盘创建一个文件. $ cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为 ...

  7. c语言strTrimed函数用法介绍,linux type命令用法_转

    在脚本中type可用于检查命令或函数是否存在,存在返回0,表示成功:不存在返回正值,表示不成功. $ type foo >/dev/null 2>&1 || { echo > ...

  8. linux signal用法,Linux 信号 signal 用法详解及注意事项

    Linux 信号 signal 用法详解及注意事项 1) SIGHUP 本信号在用户终端连接 (正常或非正常) 结束时发出, 通常是在终端的控 制进程结束时, 通知同一 session 内的各个作业, ...

  9. linux下rdesktop用法

    我自己用的参数rdesktop -g workarea -D -r clipboard:PRIMARYCLIPBOARD -a 16 -x lan 192.168.1.2 rdesktop是Linux ...

  10. Linux中EOF用法

    Linux中EOF用法 理解:EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF. EOF一般会配合c ...

最新文章

  1. python测试开发自学教程-python测试开发学习笔记
  2. Redis快速入门:安装、配置和操作
  3. 数字电路技术可能出现的简答题_数字电子技术复习题(本科)
  4. Vue+stylus实现自定义文字的loading组件
  5. c# 如何抓微信把柄_C#微信公众号开发--微信事件交互
  6. Thread类和Runnable接口
  7. 解决Nacos无法连接Mysql8.0+的问题(坑爹的阿里官方文档,已无力吐槽)
  8. Nagios监控平台完全攻略 (三)
  9. 【Scala】Scala中的_ 和 _*分别代表什么
  10. C++中读取文件乱码问题
  11. base64 能放数组里面么_手把手教你Vue解析pdf(base64)转图片【实践】
  12. ARM DS-5 Flex网络许可证编译错误“Error: C9933W: Waiting for license...”
  13. [网络安全提高篇] 一一二.DataCon Coremail邮件安全竞赛之钓鱼邮件识别及分类
  14. Call Center核心词汇含义及功能
  15. 瑞士央行干预汇市以遏制瑞士法郎上涨
  16. C/C++中的pi(pai)怎么打 【c语言】
  17. 统计一组名字中每个姓出现的次数
  18. 第九届河南省ACM省赛 D 导弹发射
  19. VMware不支持虚拟化的Intel VT-X/EPT
  20. Redis源码分析 —— 发布与订阅

热门文章

  1. Tuxera NTFS21Mac苹果电脑读取硬盘磁盘软件
  2. C++结构体定义及申请空间
  3. URAL 1517. Freedom of choice (后缀数组)
  4. 评分卡模型开发(六)--WOE值计算
  5. 如何快速查找网页的内容
  6. 用于土地使用和土地覆盖分类的landsat8的OLI波段组合的选择
  7. 非负矩阵分解的矩阵求解
  8. HTML5期末大作业:餐饮美食网站设计——上海美食介绍(6页) HTML+CSS+JavaScript HTML毕设网页设计 web学生网页设计作业源码
  9. 利用opencv带你玩转人脸识别-中篇(人脸检测,检测多个,视频检测快速入门)
  10. 但愿能带给你们一丝丝的温暖