在编写shell中,很少有脚本是顺序操作,大部分的时候需要进行逻辑判断。
先看一个简单的格式:
if command
then
commands
fi
bash shell会运行if后面的命令。如果该命令的退出状态码是0,then后的命令就会执行。否则不执行。来个简单的例子:
#!/bin/sh
workPath=/Users/liguosong/work/shell
if cd $workPath
then
echo Ok
fi
如果这个路径存在,就会输出Ok。
上面是一个很单间的if语句。其它语言都会有else,else if语句。shell也有。如果if后面的命令执行结果是非零,就会执行else部分。先来一个简单的else的例子:
#!/bin/sh
workPath=/Users/liguosong/work/shell
if cd $workPath
then
echo Ok
else
echo Path not exist.
fi
有时候需要进行多种条件判断,shell中我们可以用elif。基本的结构:
if command
then
commands
elif command2
then
commands
fi
上面的结构,只是普通的shell命令,if的条件是否成立都是与状态码有关的。那么把其它条件作为if判断的依据,那么我们就要学习下面的test命令了。
更多精彩文章尽在www.liguosong.com