1、if常见参数和表达式
-f 判断文件是否存在 eg: if [ -f filename ];
-d 判断目录是否存在 eg: if [ -d dir ];
-eq 等于,应用于整型比较 equal;
-ne 不等于,应用于整型比较 not equal;
-lt 小于,应用于整型比较 letter;
-gt 大于,应用于整型比较 greater;
-le 小于或等于,应用于整型比较;
-ge 大于或等于,应用于整型比较;
-a 双方都成立(and) 逻辑表达式 –a 逻辑表达式;
-o 单方成立(or) 逻辑表达式 –o 逻辑表达式;
-z 空字符串;
|| 单方成立;
&& 双方都成立表达式。
| -f | 判断文件是否存在 eg: if [ -f filename ]; |
| -d | 判断目录是否存在 eg: if [ -d dir ]; |
| -eq | 等于,应用于整型比较 equal; |
| -ne | 不等于,应用于整型比较 not equal; |
| -lt | 小于,应用于整型比较 letter; |
| -gt | 大于,应用于整型比较 greater; |
| -le | 小于或等于,应用于整型比较; |
| -ge | 大于或等于,应用于整型比较; |
| -a | 双方都成立(and) 逻辑表达式 –a 逻辑表达式; |
| -o | 单方成立(or) 逻辑表达式 –o 逻辑表达式; |
| -z | 空字符串; |
| || | 单方成立; |
| && | 双方都成立表达式。 |
2、判断文件是否存在
if [ ! -f "test.txt" ];then
echo "文件不存在"
touch test.txt
else
echo "文件存在"
rm -rf test.txt
fi
#写成一句
if [ ! -f "test.txt" ];then echo "文件不存在" && touch test.txt;else echo "文件存在" && rm -rf test.txt;fi

3、判断文件夹是否存在
if [ ! -d "test" ];then
echo "文件夹不存在"
mkdir test
else
echo "文件夹存在"
rm -rf test
fi
#写成一句
if [ ! -d "test.txt" ];then echo "文件夹不存在" && mkdir test;else echo "文件存在" && rm -rf test;fi
4、等于
判断输出的参数是否为0
#!/bin/bash
if [ $1 -eq 0 ];then
echo "true"
else
echo "fault"
fi

5、不等于
#!/bin/bash
if [ $1 -ne 0 ];then
echo "true"
else
echo "fault"
fi
#写成一句
if [ $1 -ne 0 ];then echo "true" ; else echo "fault"; fi
本文详细介绍了shell脚本中if语句的常用参数和表达式,包括文件和目录判断(-f, -d),整型比较(-eq, -ne等)以及逻辑运算(-a, -o), 通过实例演示如何结合这些条件进行文件操作和错误处理。
1万+

被折叠的 条评论
为什么被折叠?



