结构话语句
结构化语句块
条件结构块语句
bash shell的if语句会运行if后面的那个命令。如果该命令的退出状态是0(该命令运行成功)(https://www.cnblogs.com/liveforlearn/p/15257646.html 退出状态);
位于then部分的命令就会被执行。
该命令的退出状态如果是其他值,then部分的命令就不会被执行,bash shell会继续执行脚本中的下一个命令。
1 if--then:
if command then commands fi # 另一种形式 if command; then commands fi
2 if-then-else
if command then commands else commands fi
3 if -then-elif-then-else-fi
简单的小例子
1 #!/bin/bash 2 if ls 3 then 4 echo "ls execut" 5 else 6 echo "It dose not work" 7 fi
如果第2行的if ls 换成 if mmmmm 即一个不存在的命令,那么if条件退出状态不是0then后的语句块就不会执行,会执行else后面的语句块,输出 It dose not work
循环语句块
for,while, until
1 for test in list 2 do 3 commands 4 done 5 6 #list列表中提供一些列需要迭代的值
1 #!/bin/bash 2 for test in str1 str2 str3 str4 3 do 4 echo the test is $test
while
while test command do other commands done
1 #!/bin/bash 2 3 v=5 4 while [ $v -gt 0 ] 5 do 6 echo $v 7 v=$[ $v - 1 ] 8 done
until 和while的工作方式刚好相反;达到条件停止循环(while 满足条件继续循环),停止循环
until test commands do other commands done
控制循环
break: break n ; n 默认值是1即跳出当前循环。n=2时,出处紧挨着的外层循环;依次类推
continue;同样continu也有continue n(跳出当前循环,进入下次循环)