数值的比较
参数 | 说明 |
---|---|
-eq | 等于则为真 |
-ne | 不等于则为真 |
-eq | 等于则为真 |
-ne | 不等于则为真 |
-gt | 大于则为真 |
-ge | 大于等于则为真 |
-lt | 小于则为真 |
-le | 小于等于则为真 |
INT1=2
INT2=3
if [ INT1 -eq INT2 ]
then
echo "true"
fi
字符串比较
参数 | 说明 |
---|---|
== | 相等则为真 |
!= | 不相等则为真 |
-z | 字符串的长度为零则为真 |
-n | 字符串的长度不为零则为真 |
如果输入的字符串不在 web service admin 则报错退出
if [ ! $1 == 'web' ] && [ ! $1 == 'service' ] && [ ! $1 == "admin" ]
then
echo "Please introduce MODULE type in web or service or admin"
exit 0;
fi
如果进程存在,则关闭进程
name="zhangsan"
age=12
if [ -n "$name" ]
then
echo "The name is $name"
el
fi
逻辑判断
[ ! EXPR ] 逻辑非,如果 EXPR 是false则返回为真。中间有空格
[ EXPR1 -a EXPR2 ] 逻辑与,如果 EXPR1 and EXPR2 全真则返回为真。
[ EXPR1 -o EXPR2 ] 逻辑或,如果 EXPR1 或者 EXPR2 为真则返回为真。
[ ] || [ ] 用OR来合并两个条件
[ ] && [ ] 用AND来合并两个条件
文件和目录
参数 | 说明 |
---|---|
-e 文件名 | 如果文件存在则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-w 文件名 | 如果文件存在且可写则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
-s 文件名 | 如果文件存在且至少有一个字符则为真 |
-c 文件名 | 如果文件存在且为字符型特殊文件则为真 |
-b 文件名 | 如果文件存在且为块特殊文件则为真 |
如果不存在目录则创建目录
if [ ! -d $TEMP_CODE_DIC ]
then
mkdir -p $TEMP_CODE_DIC
fi