9、shell流程控制

shell流程控制

shell的if else与其他语言的有所不同。

1、if else fi

if语句

if condition
then
command1
command2
...
commandN
fi

写成一行(适用于终端命令提示符):

if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

if else语句

if condition
then
command1
command2
...
commandN
else
command
fi

2、if else-if else

if condition1
then
command1
elif condition2
then
command2
else
commandN
fi

if else可以使用[...]判定语句中使用 大于-gt,小于-lt

if [ "$a" -gt "$b" ]; then
...
fi

可以使用((...))可以直接使用大于>,小于<

if (( a > b )); then
...
fi

3、for循环语句

for循环的格式为:

for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done

写成一行:

for var in item1 item2 ... itemN; do command1; command2… done;

4、while循环语句

while condition
do
command
done

5、无限循环

while :
do
command
done

或者:

while true
do
command
done

或者:

for (( ; ; ))

6、until 循环

until 循环执行一系列命令直至条件为 true 时停止。

until 循环与 while 循环在处理方式上刚好相反。

一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用。

until 语法格式:

until condition
do
command
done

7、case ... esac

选择匹配语句。类似于switch ... case 语句

case 值 in
模式1):
command1
command2
...
commandN
;;
模式2):
command1
command2
...
commandN
;;
*):#default
command1
command2
...
commandN
;;
esac

8、跳出循环

break

结束当前的循环语句,继续执行下面的操作。

continue

结束当次的循环语句,继续判定执行循环。

posted @   站着说话不腰疼  阅读(22)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示