1、read基本读取

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

执行:

# ./read.sh
Enter you name: yuan
Hello yuan, welcome to my program   

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

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

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

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

执行:

# ./read1.sh
Enter your name: a b
Checking data for b, a  

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

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

执行:

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

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

  • []有比较的判断的功能
  • -o代表or
  • &&在shell中的用法是如果&&左边的命令执行成功(即$?=0)时才能执行&&右边的命令
#!/bin/bash  read -p "Please input(Y/N):" yn
[ "$yn" == "Y" -o "$yn" == "y" ]&&echo  "OK,continue"&&exit 0
[ "$yn" == "N" -o "$yn" == "n" ]&&echo "Oh,interrupt!"&&exit 0
echo "i don't konw what your choice is"&&exit 0

 执行:

yuanqiangfei@ubuntu:~/script$ ./sh01.sh
Please input(Y/N):y
OK,continue
yuanqiangfei@ubuntu:~/script$ ./sh01.sh
Please input(Y/N):n
Oh,interrupt!  

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

  • 在中括号 [] 内的每个组件都需要有空白键来分隔;
  • 在中括号内的变量,最好都以双引号括号起来;
  • 在中括号内的常数,最好都以单或双引号括号起来。
  • ==和!=两边都要有空格
  • []有比较的判断的功能
#!/bin/bash
#entering muiltple variables  while true
do  read -s -p "Please enter your password:"  passwd  [ "$passwd" == "123456" ]&&echo "password is right!"&&exit 0  [ "$passwd" != "123456" ]&&echo "password is not right,Please input again!"&&continue
done  

执行:

yuanqiangfei@ubuntu:~/script$ ./read.sh
Please enter your password:password is right!
yuanqiangfei@ubuntu:~/script$ ./read.sh
Please enter your password:password is not right,Please input again!
Please enter your password:  

7、从文本中读取

#!/bin/bash
# reading data from a file  count=1
cat test | while read line
do  echo "Line $count: $line"  count=$[ $count + 1 ]
done
echo "Finished processing the file"  

执行结果:

 ./read6.sh
Line 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

  

转载于:https://www.cnblogs.com/yuanqiangfei/p/8032913.html

shell script中read的用法相关推荐

  1. shell shift与{}_一文掌握shell脚本中shift的用法及功能

    概述 今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的. 一.shift介绍 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数 ...

  2. Linux中shift命令的用法,一文掌握shell脚本中shift的用法及功能

    概述 今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的. 一.shift介绍 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数 ...

  3. Shell脚本中date的用法小结

    2019独角兽企业重金招聘Python工程师标准>>> 操作系统中时间管理是很重要的,也是很复杂的,首先要处理每个月不同的天数,每4年有一闰年,每400年少一闰,这样才能处理星期几的 ...

  4. shell编程中expr的用法

    http://blogold.chinaunix.net/u2/80710/showart_1933974.html 在网上找了好长时间,才找到这么篇好文章,给大家分享一下. expr 命令 用途 求 ...

  5. Shell编程中Shift的用法

    位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...

  6. shell编程中的select用法

    select 语句 select表达式是bash的一种扩展应用,擅长于交互式场合.用户可以从一组不同的值中进行选择: select var in ... ; dobreak; done .... no ...

  7. Shell编程中Shift的用法(转)

    位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...

  8. Linux shell脚本中shift的用法说明

    原文:https://blog.csdn.net/zhu_xun/article/details/24796235 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历 ...

  9. shell编程中if []的用法注意

    2019独角兽企业重金招聘Python工程师标准>>> 1.if后要有空格 2.[] 中括号的开头和结尾要有空格! 3. [ $1-eq"root" ]中括号中的 ...

最新文章

  1. 微信支付技术解决方案
  2. go使用反射reflect获取变量类型
  3. 北京内推 | 联想研究院机器学习团队招聘因果推理算法研究实习生
  4. Python字典get()方法的实际应用
  5. vector 中的元素去重
  6. 【C++ Priemr | 15】面向对象程序设计
  7. 针对数据科学家和数据工程师的4条SQL技巧
  8. 前端学习(3253):vs code中组件化编码
  9. win与Linux的防火墙配置
  10. 通信原理电子版_2020兰州大学通信工程考研(电子信息)经验分享
  11. 国产AIoT SoC芯片
  12. 苹果基带坏了怎么办_「手机维修自学教程」苹果手机的基带逻辑码片读取技巧 保资料搬板...
  13. 计算机原理作文,海口经济技术学院微型计算机原理作业第三章 习题与思考题:自述作文...
  14. 算法:JavaScript实现 三色旗 代码详解
  15. SAP ABAP BDC录屏 数据导入和检验-实例
  16. 基于java+springboot+mybatis+vue+elementui的古玩玉器交易系统
  17. [网络工程师]-路由配置-NAT配置
  18. 算法工程师,上岸了!
  19. 键盘计算机的区别吗,机械键盘如何选购? 它和普通键盘有什么区别?
  20. 2019上海理工大学c语言答案,上海理工大学C语言实验7答案.doc

热门文章

  1. 实战:白话Math.random()函数使用说明
  2. c++字符串全排列递归法
  3. jquerymobile跳转方法_关于jquery mobile的页面跳转
  4. 王者荣耀为何不再荣耀?
  5. 中国光大银行科技部门面试。
  6. 论文阅读:Understanding Doubly Stochastic Clustering
  7. 82个Web开发者工具汇总
  8. 可乐学习NVMe之三:解读PRP/SGL
  9. 安搭Share:忙里偷闲,也是生活的一种乐趣
  10. 目标检测中的IoU、GIoU、DIoU与CIoU