shell按照出现的次序来处理shell脚本中的每个单独命令。
if-then语句
if command then commands fi
bash shell的if语句会运行if行定义的那个命令。如果该命令的退出状态码是0,位于then部分的命令就会被执行。
如果该命令的退出状态码是其他什么值,那then部分的命令就不会被执行,bash shell会继续执行脚本中的下一个命令。
#!/bin/bash if asdfg then echo "it did not worked" fi echo "we are outside of the if statement"
在then部分,你可以用多个命令。
#!/bin/bash testuser=liuxj if grep $testuser /etc/passwd #if asdfg then #echo "it did not worked" echo The bash files for user $testuser are: ls -a /home/$testuser/.b* fi
if-then-else语句
if command then commands else commands fi
当if语句中的命令返回退出状态码0时,then部分中的命令会被执行,当if语句中的命令返回非零退出状态码时,bash shell会执行else部分中的命令。
嵌套if
elif会通过另一个if-then语句来延续else部分:
if command1 then commands elif command2 then more commands fi
elif语句行提供了另外一个要测试的命令,类似于原始的if语句。如果elif后命令的退出状态码是0,则bash会执行第二个then语句部分的命令。
注意:你可以将多个elif语句串起来,形成一个大的if-then-elif嵌套组合。
if command1 then command set 1 elif command2 then command set 2 elif command3 then command set 3 elif command4 then command set 4 fi
时间: 2024-10-24 16:25:41