之前写一些脚本里面,shell会按照命令在脚本中出现的顺序依次进行处理,对于顺序操作来说,这就足够了,因为在这种操作环境下,想要的就是所有命令按照正确的顺序执行,然而,并非所有的程序都需要如此操作。
许多程序会要求在shell脚本中的命令加一些逻辑流程控制,有一类命令会根据条件使得脚本跳过某些命令,这样的命令被称为结构化命令。
结构化命令允许我们改变脚本中命令的执行顺序。
最基本的一个结构化命令是:
if command
then
commands
fi
bash shell的if语句会运行后面的那个命令,如果该命令的状态退出码是0(表示命令运行成功),位于then部分的命令就会被执行,如果该命令的退出状态码为其他值,then部分的命令就不会被执行,bash shell会执行脚本中的下一个命令。fi 语句用来标识if - then语句到此结束。
$ cat test.sh
#! /bin/bash
#testing the if-then stat