shell script中read的用法
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的用法相关推荐
- shell shift与{}_一文掌握shell脚本中shift的用法及功能
概述 今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的. 一.shift介绍 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数 ...
- Linux中shift命令的用法,一文掌握shell脚本中shift的用法及功能
概述 今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的. 一.shift介绍 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数 ...
- Shell脚本中date的用法小结
2019独角兽企业重金招聘Python工程师标准>>> 操作系统中时间管理是很重要的,也是很复杂的,首先要处理每个月不同的天数,每4年有一闰年,每400年少一闰,这样才能处理星期几的 ...
- shell编程中expr的用法
http://blogold.chinaunix.net/u2/80710/showart_1933974.html 在网上找了好长时间,才找到这么篇好文章,给大家分享一下. expr 命令 用途 求 ...
- Shell编程中Shift的用法
位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...
- shell编程中的select用法
select 语句 select表达式是bash的一种扩展应用,擅长于交互式场合.用户可以从一组不同的值中进行选择: select var in ... ; dobreak; done .... no ...
- Shell编程中Shift的用法(转)
位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...
- Linux shell脚本中shift的用法说明
原文:https://blog.csdn.net/zhu_xun/article/details/24796235 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历 ...
- shell编程中if []的用法注意
2019独角兽企业重金招聘Python工程师标准>>> 1.if后要有空格 2.[] 中括号的开头和结尾要有空格! 3. [ $1-eq"root" ]中括号中的 ...
最新文章
- 微信支付技术解决方案
- go使用反射reflect获取变量类型
- 北京内推 | 联想研究院机器学习团队招聘因果推理算法研究实习生
- Python字典get()方法的实际应用
- vector 中的元素去重
- 【C++ Priemr | 15】面向对象程序设计
- 针对数据科学家和数据工程师的4条SQL技巧
- 前端学习(3253):vs code中组件化编码
- win与Linux的防火墙配置
- 通信原理电子版_2020兰州大学通信工程考研(电子信息)经验分享
- 国产AIoT SoC芯片
- 苹果基带坏了怎么办_「手机维修自学教程」苹果手机的基带逻辑码片读取技巧 保资料搬板...
- 计算机原理作文,海口经济技术学院微型计算机原理作业第三章 习题与思考题:自述作文...
- 算法:JavaScript实现 三色旗 代码详解
- SAP ABAP BDC录屏 数据导入和检验-实例
- 基于java+springboot+mybatis+vue+elementui的古玩玉器交易系统
- [网络工程师]-路由配置-NAT配置
- 算法工程师,上岸了!
- 键盘计算机的区别吗,机械键盘如何选购? 它和普通键盘有什么区别?
- 2019上海理工大学c语言答案,上海理工大学C语言实验7答案.doc