2个简单shell脚本(if,while,case语句)
实验要求:
1、编写一个名为sum.sh的脚本,提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
2、编写一个名为tar.sh的脚本,用来解压.tar.gz或.tar.bz2格式的压缩文件,要求采用case语句
实验步骤:
(一)
vi sum.sh
#!/bin/bash
# this is sum
while : #循环条件为真,等同于while true,如果没有exit 0或者break 则一直执行循环
do
read -p "请输入一个1-100的整数: " nu #把屏幕输出的数字赋值给变量nu
expr $nu + 0 &> /dev/null #此条语句作用是判断这个数字是否为0或者不是整数,并且不在屏幕显示这个数
if [ $? -ne 0 ] || [ $nu -ge 100 ] #如果上条语句是非0的结果则表示错误,或者这个数大于等于100也不符合实验要求
then echo "您输入的$nu不符合要求请重新输入:" #提示错误信息要求重新输入
else #不是以上结果则执行下面的语句
s=0 i=1 #给变量初始化赋值
while [ $i -le $nu ] #因为当输入的数字小于100都要执行相加,所以当i大于这个数时停止循环
do
s=$(expr $s + $i) #s从0开始,i从1开始,把每次循环的结果赋值给s然后继续和i相加,一直加到输入的整数
let i++ #每循环一次i+1
done
echo "1-$nu之间的整数和是:$s" #将结果输出,停止循环
break
fi
done
验证结果:
(二)
vi tar.sh
#!/bin/bash
# this is test
read -p "请输入您想解压的压缩文件:" f #将输入的文件名称赋值给变量f
s=$(file $f | awk '{print $2}') #判断这个文件是哪种格式的压缩文件
case $s in #若结果为gzip则用gzip解压
gzip)
echo "将用gzip工具为该文件解压"
tar -zvxf $f
;;
bzip2) #若结果为bzip2则用bzip2解压
echo "将用bzip工具为该文件解压"
tar -jxvf $f
;;
*) #其他结果则表示不是压缩文件,屏幕输出错误信息
echo "不是标准的压缩文件"
esac
验证结果:
转载于:https://blog.51cto.com/shengjie/1584881
2个简单shell脚本(if,while,case语句)相关推荐
- shell脚本中的case语句使用要点
1.双分号(;;) 用于case语句中一个分支的结束. 可类比C++里面switch...case语句,在case语句之后,若所有语句都输完,后面跟着的"break;". 2.星号 ...
- Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用...
一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境 2> 练习命令历史.命令别名 ...
- Linux的简单shell脚本中修改文件操作
Linux的简单shell脚本中修改文件操作 Linux Shell常用技巧(三) sed 八.流编辑器sed 8.1 sed简介 sed是stream editor的缩写,一种流编辑器,它一次处理一 ...
- 如何获取shell脚本中某条语句的执行时间
有没有办法获取shell脚本中某条语句的执行时间 如果要获得语句执行所花的时间 用time命令 在语句的前面加上time命令 输出结果一共3列 比如我执行time sleep 5 real 0m ...
- 第八课-第二讲 08_02_bash脚本编程之七 case语句及脚本选项进阶
第八课-第二讲 08_02_bash脚本编程之七 case语句及脚本选项进阶 一. 面向过程 控制结构 顺序结构 选择结构 循环结构 选择结构 if语句 单分支,双分支,多分支 case 语句 cas ...
- Shell脚本break和continue语句应用
记录:436 场景: Shell脚本break和continue语句应用.在for.while循环中使用break和continue语句. 版本:CentOS Linux release 7.9.20 ...
- 简单shell脚本编程入门
简单的shell编程入门: 步骤一: 编写一个简单的shell程序: Shell编程开头标准写法(固定的),设定Shell解释器 步骤二: 添加可执行权限 也可以不添加权限(使用sh + 脚本名称)[ ...
- 【Linux环境】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
Shell脚本备份数据的博文不少,这个应该算是比较简单的,没有复杂逻辑,分享一下. 1.备份脚本 Shell脚本的每行命令一定要在测试环境进行测试,否则会有意想不到的惊吓
- html怎么shell脚本语言,简单shell脚本例子
为什么要使用Shell脚本 使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象.缺点是:它们的效率通常不如编译型语言.不过权衡之下,通常使用脚本编程还是值 ...
最新文章
- 天哪!原来PWM这么简单
- 台达b3伺服参数设置方法_2020东莞清溪台达自动化配件回收厂家直购
- 数据结构-链表2-链式存储
- 真的很OK!雷军成科创板大赢家 相关投资企业3家已上市
- 汉字转拼音,TinyPinyin、Pinyin4j与JPinyin哪个库更快
- C#用yield模仿js的带 index的foreach
- shopnc数据库 批量修改商品价格
- 空间参考(一)---墨卡托投影、高斯-克吕格投影、UTM投影的异同
- pcb怎么画边框_PCB设计--PCB画图技巧
- windows环境下:安装MySQL8.0;同时安装MySQL5.7
- kde下gwenview启动慢,甚至几十秒才能启动
- dw读取access中的图片_DreamWeaver入门必看:ACCESS数据库(三)
- 记一次小米路由器任意文件读取漏洞
- 【面试】数据仓库面试经验总结
- write字符串python_Python-write()与writelines()和连接字符串
- Photon Pun
- 高德地图在H5页面中的使用(VUE)
- iptables使用limit控制新建连接速率
- FF4J(特性框架)简介及入门
- 设计模式入门(王者荣耀之设计英雄篇)
热门文章
- java抽奖_Java实现抽奖功能
- python猜数字统计游戏次数_猜数字游戏(Python)
- python 报价_python基础教程_查询价格
- 批量替换_【脚本】AE照片墙模板图片批量替换脚本Multi Replacer
- mongodb 导出一条数据_将 MongoDB 导出成 csv
- c语言程序设计对称数,c语言程序设计--对称数
- 485不用双绞线可以吗_刘兴亮丨有了北斗,中国可以不用GPS吗
- if js 判断成绩等级_Java判断语句的语法和使用
- Vue使用v-for绑定两个属性拼接渲染界面
- Spring框架IOC的实现