当前位置:网站首页>Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
2022-07-27 09:49:00 【Redamancy06】
1.流程控制(重点)
1.1if 判断
1.1.1基本语法
注意事项:
①[ 条件判断式 ],中括号和条件判断式之间必须有空格
②if 后要有空格
1.1.1.1单分支
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
fi
1.1.1.2多分支
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
else
程序
fi
1.1.2案例
1.1.2.1单分支



当这样写的时候,没有传入参数时,会报错的,所以要按照下面的做法做


这样的话就不会报错了,因为要是不输入参数的时候两边也都不会为空
1.1.2.2用逻辑与&&逻辑或||连接(单分支)
1.1.2.2.1逻辑与&&

在中括号里面的话就不用&&而是用-a(-and)

1.1.2.2.2逻辑或||

在中括号里面的话就不用||而是用-o(-or)
1.1.2.3多分支

…


1.2case 语句
1.2.1基本语法
case $变量名 in
"值 1")
如果变量的值等于值 1,则执行程序 1
;;
"值 2")
如果变量的值等于值 2,则执行程序 2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
1.2.2注意事项:
(1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。 (2)双分号“;;”表示命令序列结束,相当于 java 中的 break。
(3)最后的“*)”表示默认模式,相当于 java 中的 default。
1.2.3案例cast_test.sh



1.3for 循环
1.3.1基本语法1
for (( 初始值;循环控制条件;变量变化 ))
do
程序
done
1.3.2基本语法 2
for 变量 in 值 1 值 2 值 3…
do
程序
done
1.3.3案例
1.3.3.1for (( 初始值;循环控制条件;变量变化 ))



1.3.3.2“{}”在linux shell里面表示生成序列

{1…100}表示从1到100,中间是两个点,别看错了
1.3.3.3for 变量 in 值 1 值 2 值 3…

1.3.3.2在for循环中$*和[email protected]的区别

当$*和[email protected]没有加双引号的时候输出结果为下:

他们两个的输出结果一致

当加上双引号后。结果如下:
当它们被双引号“”包含时,
$*会将所有的参数作为一个整体,以“$1 $2 …$n”的形式输 出所有参数;
[email protected]会将各个参数分开,以“$1” “$2”…“$n”的形式输出所有参数。
1.4while 循环
1.4.1基本语法
while [ 条件判断式 ]
do
程序
done
1.4.2从1加到100



1.4.3let用法
在新版shell中支持用let的,他的语言是和高级语言差不多的


边栏推荐
- Qt 学习(二) —— .pro文件详解
- Fundamentals of Materials Engineering - key points
- 吃透Chisel语言.27.Chisel进阶之有限状态机(一)——基本有限状态机(Moore机)
- Voice live broadcast system - Principles to be followed in developing push notifications
- July training (day 16) - queue
- 刷题《剑指Offer》day04
- After one year, the paper was finally accepted by the international summit
- 2016 outlook
- Qt | 关于Qt Creator打开项目编译不过的问题
- A ride into Qinchuan -- a brief talk on how beego Autorouter works
猜你喜欢

习题 --- 快排、归并、浮点数二分

How to restore the original version after installing Hal Library

Leetcode.814. binary tree pruning____ DFS
![[cloud native • Devops] master the container management tool rancher](/img/6f/50deaf053c86486e52d2c2c7310ed2.png)
[cloud native • Devops] master the container management tool rancher

MOS drive in motor controller

一骑入秦川——浅聊Beego AutoRouter是如何工作

中高级试题」:MVCC 实现原理是什么?

I haven't delivered books for a long time, and I feel uncomfortable all over

wordpress禁止指定用户名登录或注册插件【v1.0】

Understand chisel language. 24. Chisel sequential circuit (IV) -- detailed explanation of chisel memory
随机推荐
File upload of native input tag
好久不送书,浑身不舒服
安装了HAL库如何恢复原来的版本
吃透Chisel语言.25.Chisel进阶之输入信号处理(一)——异步输入与去抖动
去 OPPO 面试,被问麻了
S switch stacking scheme configuration guide
35 spark streaming backpressure mechanism, spark data skew solution and kylin's brief introduction
吃透Chisel语言.23.Chisel时序电路(三)——Chisel移位寄存器(Shift Register)详解
July training (day 11) - matrix
About getter/setter methods
flash闪存使用和STM32CUBEMX安装教程【第三天】
July training (day 23) - dictionary tree
Understand chisel language. 27. Chisel advanced finite state machine (I) -- basic finite state machine (Moore machine)
A ride into Qinchuan -- a brief talk on how beego Autorouter works
[cloud native] how can I compete with this database?
Annotation and reflection
习题 --- 快排、归并、浮点数二分
wordpress禁止指定用户名登录或注册插件【v1.0】
TFlite 的简单使用
What happens if the MySQL disk is full? I really met you!