原文链接:
文件检查
参数意义
该文件名是否存在
该文件名是否存在且为file
该文件名是否存在且为目录
该文件名是否存在且为一个block
该文件名是否存在且为一个character device设备
该文件名是否存在且为一个socket文件
该文件名是否存在且为一个FIFO(pipe)文件
该文件名是否存在且为一个连接文件
文件权限检查
**参数意义**
检测文件名是否存在且具有“可读”权限
检测文件名是否存在且具有“可写”权限
检测文件名是否存在且具有“可执行”权限
检测文件名是否存在且具有“SUID”权限
检测文件名是否存在且具有“SGID”权限
检测文件名是否存在且具有“Sticky%20bit”权限
检测文件名是否存在且为“非空白文件”
文件的比较
参数意义
(newer than)判断file1是否比file2新
(older than)判断file是否比file2旧
判断file1与file2是否为同一个文件,可用在判断hard link上
数字之间的判定
参数意义
equal
not equal
greater than
less than
greater than or equal
less than or equal
判断字符串的数据
参数意义
test -z string
判断字符串是否为0,若为空返回true
test -n string
判断字符串是否为0,若为空返回false
test str1 = str2
判断str1是否等于str2,若相等,返回true
test str1 != str2
判断str1是否等于str2,若相等,返回false
多重条件的判断
参数意义
两个条件同时成立,eg:test -r file -a -x file,同时成立返回true
任何一个条件成立,eg:test -r file -o -x filelinux命令大全,同时成立返回true
反向状态,如test!-x file,当file不具有x时,返回true
通常我们会使用[ ]代替testlinux命令大全,
注意:[ -f file ]与中间的判断条件需要用空格隔开