首页 > 系统相关 >shell流程控制

shell流程控制

时间:2023-01-09 18:14:48浏览次数:49  
标签:语句 控制 shell command2 ... 流程 command1 else 循环

目录

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

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

标签:语句,控制,shell,command2,...,流程,command1,else,循环
From: https://www.cnblogs.com/lgxdev/p/17037820.html

相关文章

  • shell的test命令
    目录shell的test命令1、数值测试2、字符串测试3、文件测试shell的test命令shell的test命令用于检查某个条件是否成立,可以通过数值、字符串、文件三方面进行测试。1、数......
  • shell输入输出重定向
    shell输入输出重定向从你的终端向另外一个地方输入,这种方式将标准输出,从另外一个地方向你的终端输入,叫做输入。也就是以你的当前终端作为参照物。重定向命令列表如下:......
  • shell函数
    shell函数1、基本语法shell函数定义格式如下:[function]funname[()]{action;[returnint;]}说明:1、可以带functionfun()定义,也可以直接fun()......
  • shell字符与数组之间的判断
    shell字符与数组之间的判断[[数组=~字符]]循环判断,匹配返回true if![[$allServer=~$1]]&&[$1!="all"];then echo"notfindparameter:$1,param......
  • Django模板控制结构(for/forloop/if)
    for语法:{%for%}  {%endfor%} 视图 模板 结果forloopforloop.counter和forloop.revcounter后面带0代表从第0次开始循环,不带代表......
  • 2023年最新ios证书申请流程
    做过前端多端开发的朋友们都知道,hbuilderx或apicloud这些开发工具的uniapp框架可以开发ios应用,使用他们的云打包即可。云打包的时候需要一个私钥证书和一个profile文件,这......
  • Shell脚本总结
    sed-i 插入|替换sed-i'1iabc'/tmp/abc.txt在第一行之前插入abcsed-i'1aefg'/tmp/abc.txt在第一行之后插入efgsed-i'1cxyz'/tmp/abc.txt把第一行数......
  • 【控制】自适应控制,对参考信号跟踪,对未知参数估计的小例子,带程序有结果图
    目录自适应控制的一点笔记和看法1​​【控制】自适应控制基本概念​2​​【控制】自适应控制,对参考信号跟踪,对未知参数估计的小例子,带程序有结果图​3​​【控制】自适应控......
  • 【控制】自适应控制,模型参考自适应控制,参考模型如何求取,有程序有图
    目录自适应控制的一点笔记和看法1​​【控制】自适应控制基本概念​2​​【控制】自适应控制,对参考信号跟踪,对未知参数估计的小例子,带程序有结果图​3​​【控制】自适应控......
  • 智能流程机器人助你“聚划算”
    摘要:RPA可以模拟人工进行操作,比如平时的登录,操作文件,抓取数据,调用api,与数据库进行交互等操作,从而实现一系列自动化的实现。本文分享自华为云社区《智能流程机器人助你......