Shell——流程控制(if、case、for、while)
文章目录
- 一、if语句
- 1.基本语法
- 2.注意事项
- 3.示例演示
- 三、case语句
- 1.基本语法
- 2.注意事项
- 3.示例演示
- 二、for循环
- 1.基本语法
- 2.示例演示
- 四、while循环
- 1.基本语法
- 2.示例演示
一、if语句
1.基本语法
语法①:
if [ condition ];then
程序
fi
语法②:
if [ 条件判断式 ]
then
程序
fi
2.注意事项
(1)[ condition ],中括号和条件判断式之间必须有空格
(2)if后要有空格
3.示例演示
#!/bin/bashif [ $1 -lt "5" ]
thenecho "第一个参数小于5"
elif [ $1 -eq "5" ]
thenecho "第一个参数等于5"
elseecho "第一个参数大于5"
fiif [ $2 -lt "10" ];thenecho "第二个参数小于10"
elif [ $2 -eq "10" ];thenecho "第二个参数等于10"
elseecho "第二个参数大于10"
fi
运行结果:
三、case语句
1.基本语法
case $变量名 in
“值1”)
如果变量的值等于值1,则执行程序1
;;
“值2”)
如果变量的值等于值2,则执行程序2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
2.注意事项
(1) case行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。
(2) 双分号“;;”表示命令序列结束,相当于C语言中的break。
(3) 最后的“*)”表示默认模式,相当于C语言中的default。
3.示例演示
#!/bin/bashcase $1 in1)echo "参数是1";;2)echo "参数是2";;3)echo "参数是3";;*)echo "参数不是1、2、3";;
esac
运行结果:
二、for循环
1.基本语法
语法①:
for (( 初始值;循环控制条件;变量变化 ))
do
程序
done
语法②:
for 变量 in 值1 值2 值3…
do
程序
done
2.示例演示
程序1:
#!/bin/bashsum1=0
sum2=0for ((i = 1; i <= 10; i++))
dosum1=$[$i+$sum1]
done
echo "for1 sum1 is $sum1"for j in "$*"
doecho "for2 this is $j"
donefor k in "$@"
doecho "for3 this is $k"
done
运行结果:
注意区分$*和 $@,上面的程序中将 & *和 $@都加了引号,看下面不加引号的程序:
程序2:
#!/bin/bashsum1=0for ((i = 1; i <= 10; i++))
dosum1=$[$i+$sum1]
done
echo "for1 sum1 is $sum1"for j in $*
doecho "for2 this is $j"
donefor k in $@
doecho "for3 this is $k"
done
运行结果:
$*代表所有参数的整体, $@代表所有参数的集合,且每个参数仍然独立,对于 $@来说,加不加引号都一样,但是对于 $ *来说就有差别了,看下面的程序:
程序3:
#!/bin/bashfor j in 1 2 3 4 5
do echo "for2 this is $j"
donefor k in "1 2 3 4 5"
doecho "for3 this is $k"
done
运行结果:
类比一下,有点像C语言的宏,对于用所有参数替代掉原来的$*,将程序1和程序2中的 & *用所有参数替代掉,就能类比程序3。
四、while循环
1.基本语法
while [ 条件判断式 ]
do
程序
done
只要涉及条件判断式,就要注意中括号和式子之间的空格
2.示例演示
#!/bin/bashsum=0
while [ $sum -lt 10 ]
doecho "sum 加了一次"sum=$[$sum+1]
done
运行结果:
Shell——流程控制(if、case、for、while)相关推荐
- shell 脚本比较字符串相等_LINUX快速入门第十六章:Shell 流程控制
Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?phpif (isset($_GET["q"])) { s ...
- Shell——流程控制
Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) {s ...
- Linux | Shell 学习笔记(二)Shell 流程控制 if、case、for、while| read读取输入 | 函数的使用 | cut、sed、awk、sort命令 +Demo
文章目录 参考资料 运行环境 一.流程控制 1.1 if 判断 1.2 case 语句 1.3 for 循环 1.4 while 循环 二. read 读取控制台输入 三.函数 3.1 系统函数 ba ...
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载
http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介绍下,各个语句使用方法. 一.shell条件语句(if ...
- linux shell 流程控制
导读 和Java.PHP等语言不一样,linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介绍下,各个语句使 ...
- T-SQL:流程控制 4,Case 语句
ylbtech-SQL Server:SQL Server-流程控制 4,Case 语句 SQL Server 流程控制中的 Case 语句. 1,Case 语句 1 --============== ...
- 3.Linux Shell流程控制
1.if/else结构 if condition thenstatements elif condition thenstatements elsestatements fi 2.条件 与C语言不同的 ...
- false shell 判断_六、Shell流程控制-if判断语句
1. shell中的运算 1.1 数学比较运算 -eq 等于 -ne 不等于 -lt 小于 -gt 大于 -le 小于等于 -ge 大于等于 浮点数的比较建议将数字等比放大至整数进行比较,例如 #比较 ...
最新文章
- mfc 应用程序 语言进行本地化
- 在CentOS 6.5 x86_64上安装libunwind的问题
- 共享打印机出错,错误代码0x00000bcb解决方法汇总
- JAVA JDBC详解
- android uid systemui,(android)system ui 内存优化
- python按行读取文件取消空白行_python去掉空白行的多种实现代码
- css旋转45度_css 渐变过渡2D
- FFmpeg纯净版解码 av_parser_parse2
- 游戏筑基开发之menset底层实现及C语言项目常见问题解决方案(C语言)
- python基于Flask构建Web服务,解决Flask数据请求中的跨域问题
- 菜鸟从零学习数据库(三)——存储过程
- 网易UI测试工具 Airtest
- eclipse快捷键(alt+/)不起作用的解决办法
- 方差公式初三_初中数学公式定理大全之方差
- 使用WarZone联机对战横扫千军(TA)指南
- Java基础篇——选择结构
- Ubuntu使用gzip与bzip2与rar和tar压缩解压
- Easy Excel 使用总结
- linux运行fuzzbunch,方程式0day ETERNALBLUE复现之Empire ampamp; Msfconsole下的she...
- 谷歌如何度量工程生产力
热门文章
- Sql语句中 case when .. 的两种写法
- [网络安全自学篇] 五十一.恶意样本分析之HGZ进程和网络行为动态分析及防御
- 网站开发之DIV+CSS简单布局网站入门篇(五)
- [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium
- Git之深入解析如何在应用中嵌入Git
- 中国大学MOOC 编译原理 第6讲测验
- Broken Keyboard (a.k.a. Beiju Text)
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹、避障、遥控实验综合程序
- PaddlePaddle训练营——公开课——AI核心技术掌握——第1章迈入现代人工智能的大门——深度学习的基础算法——反向传播算法简介
- AI 质检学习报告——实践篇——第一步:python利用OpenCV打开摄像头并截图