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