shell学习笔记(7)流程控制

1、if else

1
2
3
4
5
6
7
if condition
then
    command1
    command2
    ...
    commandN
fi

2、if else-if else

1
2
3
4
5
6
7
8
9
if condition1
then
    command1
elif condition2
then
    command2
else
    commandN
fi

注:

  • if else 的 [...] 判断语句中大于使用 -gt,小于使用 -lt;
  • 如果使用 ((...)) 作为判断语句,大于和小于可以直接使用 > 和 <。

3、for 循环

1
2
3
4
5
6
7
for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

4、while

1
2
3
4
while condition
do
    command
done

5、until循环

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

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

1
2
3
4
until condition
do
    command
done

6、case ... esac

case ... esac 为多选择语句,与其他语言中的 switch ... case 语句类似,是一种多分支选择结构,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 case ... esac 语句,esac(就是 case 反过来)作为结束标记。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
case 值 in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

case 工作方式如上所示,取值后面必须为单词 in,每一模式必须以右括号结束。取值可以为变量或常数,匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。

7、循环控制

  • break 命令允许跳出所有循环(终止执行后面的所有循环)。
  • continue 命令与 break 命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

 

 

参考:Shell 流程控制 | 菜鸟教程 (runoob.com)

 

posted @   ☞@_@  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示