bash到底是shell编程语言,不仅有一般常有的逻辑运算符,还有一堆和文件有关的,整理在这里。
参考:http://blog.csdn.net/flowingflying/article/details/5069646
if/else是通过判断选择执行或者执行部分代码,可以根据变量、文件名、命令是否执行成功等很多条件进行判断,他的格式如下:
if condition then
statements
[elif condition
then statements. ..]
[else
statements ]
fi
字符串比较是放置在[...]中,有以下的几种:
str1 = str2,字符串1匹配字符串2
str1 != str2,字符串1不匹配字符串2
str1 > str2,字符串1大于字符串2
str1 < str2,字符串1小于字符串2
-n str,字符串不为null,长度大于零
-z str,字符串为null,长度为零
文件属性比较,文件属性比较是另一个常用的条件判断类型。
-a file :file 存在
-d file :file存在并是一个目录
-e file :file 存在,同- a
-f file :file 存在并且是一个常规的文件(不是目录或者其他特殊类型文件)
-r file :有读的权限
-s file :文件存在且不为空
-w file :有写的权限
-x file :有执行的权限,或者对于目录有search的权限
-N file :在上次读取后,文件有改动
-O file :own所属的文件
-G file :group所属的文件
file1 -nt file2 :file1 比 file2 更新,以最后更新时间为准
file1 -ot file2 :file1 比 file2 更旧 ,以最后更新时间为准
posted on 2012-03-26 23:05
无毁湖光 阅读(101)
评论(0) 编辑 收藏 引用