Shell脚本的条件判断与比较
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本的条件判断与比较相关的知识,希望对你有一定的参考价值。
条件测试常用的语法:
语法格式 | 说明 |
[ <测试表达式> ] | []的边界和内容之间至少有一个空格 |
[[ <测试表达式> ]] | [[]的边界和内容之间至少有一个空格 |
注意:&&、||、>、<等操作符可以应用于[[]]中,但不能应用于[]中,在[]中一般用-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 | || | 或 |
! | ! | 非 |
以上是关于Shell脚本的条件判断与比较的主要内容,如果未能解决你的问题,请参考以下文章