您的位置:首页 > 运维架构 > Shell

Shell脚本的条件判断与比较

2018-02-05 17:06 246 查看
条件测试常用的语法:

语法格式说明
[ <测试表达式> ][]的边界和内容之间至少有一个空格
[[ <测试表达式> ]][[]的边界和内容之间至少有一个空格
注意:&&、||、>、<等操作符可以应用于[[]]中,但不能应用于[]中,在[]中一般用-a,-o,-gt(用于整数)代替上述操作符
常用的文件判断操作符

-d 文件,d的全拼为directory文件存在且为目录则为真,即测试表达式成立
-f 文件,f的全拼为file文件存在且为普通文件则为真,即测试表达式成立
-e 文件, e的全拼为exist文件存在则为真,即测试表达式成立。-e不辨别是目录还是文件
-r/w/x 文件,r/w/x的全拼为read/write/executable文件存在且可读/可写/可执行,即测试表达式成立
-s 文件,s的全拼为size文件存在且文件大小不为0则为真
-L 文件,L的全拼为Link文件存在且为链接文件则为真
f1 -nt f2,nt的全拼为newer than 文件f1比文件f2新则为真
f1 -ot f2,ot的全拼为older than 文件f1比文件f2旧则为真
常用的字符串测试表达式

-n "字符串"若字符串的长度不为0,则为真
-z "字符串"若字符串的长度不为0,则为真
操作符比较

在test以及[]中使用的比较符号
在(())和[[]]中使用的比较符号说明
-eq==或=等于
-ne!=不等于
-gt>大于
-ge>=大于等于
-lt<小于
-le<=小于等于
-a
&&
-o||
!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息