shell中的比较分为几种:
1、文件的比较
-e filename 文件是否存在 [ -f filename ]
-d dirname 目录是否存在 [ -d dirname ]
-f filename 文件是否为常规文件 [ -f filename ]
-L filename 文件是否为符号连接 [ -L filename ]
-w filename 文件是否为可写 [ -w filename ]
-r filename 文件是否可读 [ -r filename ]
-x filename 文件是否可执行 [ -x filename ]
filename1 -ot filename2 文件1比文件2旧为真 [ filename1 -ot filename2 ]
filename1 -nt filename2 文件1比文件2新为真 [ filename1 -nt filename2 ]
2、字符串比较
-z string 如果string为0,则为真 [ -z string ]
-n string 如果string为非0,则为真 [ -n string ]
string1 = string 2,如果相等则为真 [ string1 = string2 ]
string != string2, 如果不等则为真 [ string1 != string2 ]
3、数字比较
a -eq b 等于 [ a -eq b ]
a -ne b 不等于 [ a -ne b ]
a -lt b 小于 [ a -lt b ]
a -le b 小于或者等于 [ a -le b ]
a -gt b 大于 [ a -gt b ]
a -ge b 大于或者等于 [ a -ge b ]
4、截取
${varible##*string} 从左向右截取最后一个string后的字符串
${varible#*string}从左向右截取第一个string后的字符串
${varible%%string*}从右向左截取最后一个string后的字符串
${varible%string*}从右向左截取第一个string后的字符串
"*"只是一个通配符可以不要