if then/else 分支
# “[]”是调用test命令的一种形式
#文件操作
# [ -e file ] :判断文件是否存在
# [ -d dir ] :判断目录dir是否存在
# [ -b file ] :判断块设备是否存在
# [ -c file ] :判断字符设备是否存在
# [ –s File ] : 套接字文件是否存在
# [ –r File ] : 文件是否可读
# [ –x File ] : 文件是否可执行
##比较操作
# [ n1 -eq n2 ] n1,n2是否相等
# [ n1 –ne n2 ] n1不等于n2
# [ n1 –ge n2 ] n1大于等于n2
# [ n1 –gt n2 ] n1大于n2
# [ $x = $y ] :判断$x和$y是否相等
# [ -x /bin/ls ] :判断/bin/ls是否存在并有可执行权限
# [ -n $var ] :判断$var变量是否有值
#条件测试通常和if+else/elif+fi代码块儿配合使用,例如
if [ ! -d $NX_LOG ]; then
mkdir -p $NX_LOG
fi
case (in) esac分支
case "$variable" in
"$condition1" )
command...
;;
"$condition2" )
command...
;;
esac
case $( arch ) in # $( arch ) 返回设备架构。
# 等价于 ‘uname -m"。
i386 ) echo "80386-based machine";;
i486 ) echo "80486-based machine";;
i586 ) echo "Pentium-based machine";;
i686 ) echo "Pentium2+-based machine";;
* ) echo "Other type of machine";;
esac
#对变量进行引用不是必须的,因为在这里不会进行字符分割。
#条件测试语句必须以右括号 ) 结束。
#每一段代码块都必须以双分号 ;; 结束。
#如果测试条件为真,其对应的代码块将被执行,而后整个 case 代码段结束执行。
#case 代码段必须以 esac 结束(倒着拼写case)。