shell编程中的条件测试

来源:互联网 发布:hash算法使用 编辑:程序博客网 时间:2024/05/08 08:43


条件测试类型:
  整数比较
  字符比较
  文件测试
条件测试的表达式:
 [ expression ]
 [[ expression ]]
 test expression
整数比较:
       -eq:测试两个整数是否相等:比如[ $A -eq $B ]
       -ne:测试两个整数是否不等:不等为真;否则,为假
       -gt:是否大于
       -lt:是否小于
       -ge:是否大于等于
       -le:是否小于等于
命令间的逻辑关系:
       逻辑与: &&
       逻辑或: ||

测试方法:
[]
[[]]
test
bash中常用的条件测试有三种:
整数测试:
   -gt
   -le
   -ne
   -eq
   -ge
   -lt
文件测试:
-e FILE:测试文件是否存在
-f  FILE:测试文件是否为普通文件
-d  FILE:测试指定路径是否为目录
-r   FILE:测试当前用户对指定文件是否有读取权限
-w
-x
[ -e /etc/inittab ]
[ -x /etc/rc.d/rc.local ]

字符测试:
==:相等则为真,不等则为假 
[[ $A == $B ]]    等号中间有空格
[[ ''$A" == "$B" ]]
[[ '$A' == '$B' ]]
!=:测试是否相等,不等为真,等为假
>
<
-n   string:测试指定的字符串是否为空,空则真,不空则假
-z    string:测试指定的字符是否不空,不空为真,空为假
组合条件测试:

-a:与关系

-o:或关系

!:非关系

if [ $# -gt 1 -a $# -le 3 ] 

if [ $# -gt 1 ] && [ $# -le 3 ]               


0 0
原创粉丝点击