07-shell-流程控制

简介: 07-shell-流程控制

if语句

 格式

1. # if语句
2. if condition
3. then
4.     command1 
5.     command2
6.     ...
7.     commandN 
8. fi
9. 
10. 
11. # if else
12. if condition
13. then
14.     command1 
15.     command2
16.     ...
17.     commandN
18. else
19. command
20. fi
21. 
22. # if else-if else
23. 
24. if condition1
25. then
26.     command1
27. elif condition2
28. then
29.     command2
30. else
31.     commandN
32. fi

 示例

1. #!/bin/bash
2. 
3. 
4. a=1
5. 
6. if [ $a == 1 ]
7. then
8. echo $a等于1
9. fi
10. 
11. 
12. # then可以不换行,前面要要加分号(;)
13. if [ $a == 1 ];then
14. echo $a等于1
15. fi
16. 
17. 
18. # if else
19. if [ $a == 2 ]
20. then
21. echo $a等于2
22. else
23. echo $a不等于2
24. fi
25. 
26. 
27. # if elif else
28. if [ $a == 2 ];then
29. echo $a等于2
30. elif [ $a -eq 1 ];then
31. echo $a等于1
32. else
33. echo $a不等于1也不等于2
34. fi

for循环

格式

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

示例

1. #!/bin/bash
2. 
3. # 定义一个数组
4. num_list=(1 3 5 7 9)
5. 
6. # ${num_list[@]} 获取数组中所有值
7. for num in ${num_list[@]}
8. do
9. echo $num
10. done
11. 
12. # do可以不换行,前面分号(;)隔开
13. for num in ${num_list[*]};do
14. echo $num
15. done

while语句

格式

1. while condition
2. do
3. command
4. done

示例

1. #!/bin/bash
2. 
3. int=1
4. while(( $int<=5 )) 
5. do
6. echo $int
7. let "int++"
8. done

until循环

格式

1. until condition
2. do
3. command
4. done

 示例

1. #!/bin/bash
2. 
3. n=1
4. # 打印1-4
5. until [ $n -ge 5 ]; do
6. echo $n
7. let "n++"
8. done

case语句

格式

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

示例

1. #!/bin/bash
2. 
3. num=6
4. case $num in
5.     1)  echo '你选择了 1'
6.     ;;
7.     2)  echo '你选择了 2'
8.     ;;
9.     3)  echo '你选择了 3'
10.     ;;
11.     4)  echo '你选择了 4'
12.     ;;
13.     *)  echo '你没有输入 1 到 4 之间的数字'
14.     ;;
15. esac
16. 
17. 
18. # 多个条件可以写一起
19. num=6
20. case $num in
21.     1|2|3|4)  echo '你选择了 1-4任意的数字'
22.     ;;
23.     *)  echo '你没有输入 1 到 4 之间的数字'
24.     ;;
25. esac

跳出循环

1. #!/bin/bash
2. 
3. 
4. # break 退出所有循环
5. num_list=(1 3 5 7 9 11)
6. 
7. for num in ${num_list[@]};do
8. if [ $num -gt 8 ];then
9. echo $num大于8,退出循环
10. break
11. else
12. echo $num小于8
13. fi
14. done
15. 
16. 
17. # continue 退出当前循环,开始下次循环
18. for num in ${num_list[@]};do
19. if [ $num -gt 8 ];then
20. echo $num大于8,退出循环
21. continue
22. else
23. echo $num小于8
24. fi
25. done



相关文章
|
9月前
|
Shell Windows Perl
Shell编程中的条件判断与流程控制
Shell编程中的条件判断与流程控制
106 0
|
9月前
|
Java 大数据 Shell
Shell基础学习---2、运算符、条件判断、流程控制(第一天学习)
大数据开发学习 Shell基础学习---2、运算符、条件判断、流程控制
|
4月前
|
Java Shell 网络安全
Shell 流程控制
10月更文挑战第4天
48 2
|
9月前
|
Shell 程序员 数据安全/隐私保护
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
129 1
|
9月前
|
运维 Shell Linux
第四章 Shell流程控制
第四章 Shell流程控制
|
9月前
|
监控 Shell 持续交付
利用Shell脚本自动化员工电脑监管软件的部署流程
在企业管理中,对员工的电脑活动进行监管是一项重要任务。而为了实现这一目标,部署监管软件是必不可少的。本文将介绍如何利用Shell脚本来自动化部署员工电脑监管软件的流程。我们将演示如何使用Shell脚本来自动下载、安装和配置监管软件,并且在部署完成后自动启动服务。
237 4
|
9月前
|
监控 Shell 持续交付
通过Shell脚本实现局域网管理软件的自动化部署流程
本文介绍了如何使用Shell脚本自动化局域网软件部署流程,以简化管理和提高效率。脚本包括定义安装目录、服务器列表和软件包,然后遍历服务器进行传输和解压。此外,还展示了通过Shell脚本监控网络设备和软件状态,并自动将监控数据提交到网站的功能,有助于及时发现和解决问题,提升系统稳定性。通过这种方式,可有效减轻管理员的工作负担,降低成本。
191 0
|
9月前
|
Shell
Shell流程控制
Shell流程控制
43 3
|
9月前
|
Java Shell Linux
Linux下的Shell基础——流程控制(三)
Linux下的Shell基础——流程控制(三)
81 0
Linux下的Shell基础——流程控制(三)