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