07-shell-流程控制
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07-shell-流程控制相关的知识,希望对你有一定的参考价值。
目录
if语句
格式
# if语句
if condition
then
command1
command2
...
commandN
fi
# if else
if condition
then
command1
command2
...
commandN
else
command
fi
# if else-if else
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
示例
#!/bin/bash
a=1
if [ $a == 1 ]
then
echo $a等于1
fi
# then可以不换行,前面要要加分号(;)
if [ $a == 1 ];then
echo $a等于1
fi
# if else
if [ $a == 2 ]
then
echo $a等于2
else
echo $a不等于2
fi
# if elif else
if [ $a == 2 ];then
echo $a等于2
elif [ $a -eq 1 ];then
echo $a等于1
else
echo $a不等于1也不等于2
fi
for循环
格式
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
示例
#!/bin/bash
# 定义一个数组
num_list=(1 3 5 7 9)
# ${num_list[@]} 获取数组中所有值
for num in ${num_list[@]}
do
echo $num
done
# do可以不换行,前面分号(;)隔开
for num in ${num_list[*]};do
echo $num
done
while语句
格式
while condition
do
command
done
示例
#!/bin/bash
int=1
while(( $int<=5 ))
do
echo $int
let "int++"
done
until循环
格式
until condition
do
command
done
示例
#!/bin/bash
n=1
# 打印1-4
until [ $n -ge 5 ]; do
echo $n
let "n++"
done
case语句
格式
case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac
示例
#!/bin/bash
num=6
case $num in
1) echo '你选择了 1'
;;
2) echo '你选择了 2'
;;
3) echo '你选择了 3'
;;
4) echo '你选择了 4'
;;
*) echo '你没有输入 1 到 4 之间的数字'
;;
esac
# 多个条件可以写一起
num=6
case $num in
1|2|3|4) echo '你选择了 1-4任意的数字'
;;
*) echo '你没有输入 1 到 4 之间的数字'
;;
esac
跳出循环
#!/bin/bash
# break 退出所有循环
num_list=(1 3 5 7 9 11)
for num in ${num_list[@]};do
if [ $num -gt 8 ];then
echo $num大于8,退出循环
break
else
echo $num小于8
fi
done
# continue 退出当前循环,开始下次循环
for num in ${num_list[@]};do
if [ $num -gt 8 ];then
echo $num大于8,退出循环
continue
else
echo $num小于8
fi
done
以上是关于07-shell-流程控制的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
VSCode自定义代码片段15——git命令操作一个完整流程
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段