我们知道shell拥有简单的编程语言结构,我们可以很容易得编写出实用的程序在linux下。最近在做一个方案,其中遇到判断语句,下面就把这些常用的判断句给记录下来:
首先定义环境变量:
#!/bin/bash
#比如需要判断一个变量是否含有值:
if [[ -z $1 ]] ; then
echo "Something like empty!"
exit 0;
fi
#判断上一条语句是否执行成功
if [[ "$?" -eq 0 ]] ; then
echo "$1 更新成功."
exit 0;
fi
#下面再举一个实例
NovaPath=”/home/malu/”
NovaFile=”/home/malu/access.log”
#这里的-x 参数判断$NovaPath是否存在并且是否具有可执行权限
if [ ! -x "$NovaPath"]; then
mkdir “$NovaPath”
fi
#这里的-d 参数判断$NovaPath目录是否存在
if [ ! -d "$NovaPath"]; then
mkdir “$NovaPath”
fi
#这里的-f参数判断$NovaFile文件是否存在
if [ ! -f "$NovaFile" ]; then
touch “$NovaFile”
fi
#其他参数还有-n,-n是判断一个变量是否是否有值
if [ ! -n "$NovaVar" ]; then
echo “$NovaVar is empty”
exit 0
fi
#两个变量判断是否相等
if [ "$var1" = "$var2" ]; then
echo ‘$var1 eq $var2′
else
echo ‘$var1 not eq $var2′
fi
总结:通过shell的判断语句,我们可以定义shell程序的逻辑结构,我们可以重复嵌套使用判断,从而编写出强大的语句脚本来。
案例演示:http://web.malu.me/backftp.php (shell写的一个网站备份工具)