【shell】判断操作符-判断为真的条件
时间:2013-08-07 02:08:33 作者:beebol 标签: shell shell编程 判断 条件 分类: Shell
判断操作符 | 判断为真的条件 |
字符串判断 | |
[ stringA=stringB ] | stringA等于stringB |
[ stringA==stringB ] | stringA等于stringB |
[ stringA!=stringB ] | stringA不等于stringB |
[ string ] | string不为空 |
[ -z string ] | string长度为0 |
[ -n string ] | string长度不为0 |
逻辑判断 | |
[ stringA -a stringB ] | stringA和stringB都是真 |
[ stringA -o stringB ] | stringA或stringB是真 |
[ !string ] | string不为真 |
逻辑判断(复合判断) | |
[[ pattern1 && pattern2 ]] | pattern1和pattern2都是真 |
[[ pattern1 || pattern2 ]] | pattern1或pattern2是真 |
[[ !pattern ]] | pattern不为真 |
整数判断 | |
[ intA -eq intB ] | intA等于intB |
[ intA -ne intB ] | intA不等于intB |
[ intA -gt intB ] | intA大于intB |
[ intA -ge intB ] | intA大于等于intB |
[ intA -lt intB ] | intA小于intB |
[ intA -le intB ] | intA小于等于intB |
文件判断中的二进制操作 | |
[ fileA -nt fileB ] | fileA比fileB新 |
[ fileA -ot fileB ] | fileA比fileB旧 |
[ fileA -ef fileB ] | fileA和fileB有相同的设备或者inode值 |
文件检验 | |
[ -d $file ] or [[ -d $file ]] | file为目录且存在时为真 |
[ -e $file ] or [[ -e $file ]3] | file为文件且存在时为真 |
[ -f $file ] or [[ -f $file ]] | file为非目录普通文件存在时为真 |
[ -s $file ] or [[ -s $file ]] | file文件存在, 且长度不为0时为真 |
[ -L $file ] or [[ -L $file ]] | file为链接符且存在时为真 |
[ -r $file ] or [[ -r $file ]] | file文件存在且可读时为真 |
[ -w $file ] or [[ -w $file ]] | file文件存在且可写时为真 |
[ -x $file ] or [[ -x $file ]] | file文件存在且可执行时为真 |