LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 603|回复: 1

条件测试

[复制链接]
发表于 2006-12-26 16:53:10 | 显示全部楼层 |阅读模式
[PHP]
#!/bin/sh
#test   条件测试
#test 有两种格式
# test 条件      或  [ 条件 ]
#  -d 目录          -s 文件长度大于0、非空
#  -f  正规文件    -w 可写
#  -L  符号连接    -u 文件有suid位设置
#  -r  可读          -x  可执行
#
cd ..
ls -l  menu.lst
[ -w menu.lst ]
echo $?

test -w menu.lst
echo $?

test -x menu.lst
echo $?

# -a   逻辑与,操作符两边均为真,结果为真,否则为假
# -o   逻辑或,操作符两边一边为真,结果为真
# !     逻辑否,条件假,结果为真

[ -w menu.lst -a  -r menu.lst ]
echo $?
############################################
#字符串测试
# test "string"           test string_operator "string"         test "string" string_operator  "string"
#                             [ string_operator string ]              [ string string_operator string ]  
# = 两个字符串相等          != 两个字符串不等
# -z 空串                         -n 非空串
#############################################
echo "测试Editor是否为空?"
[ -z $EDITOR ]
echo $?

[ "tape" != "tape" ]
echo $?

# 测试数值
# "number"  数值操作符  "number"
# [ "number" 数值操作符 "number" ]
# -eq 数值相等   -ne 数值不相等
# -gt 第一个数大于第二个数          -lt 第一个数小于第二个数
# -ge第一个数大于等于第二个数    -le 第一个数小于等于第二个数
#
number=130
[ "$number" -eq "131" ]
echo $?

[ "$number" -gt "120" ]
echo $?

[ "$number" -le "120" ]
echo $?

[ "990" -le "995"  -a  "123" -gt "33" ]
echo $?

#expr 命令一般用于整数值,但也可用于字符串
#  expr  argument operator arguement
expr 10 + 10
expr 100 - 50
expr 3 / 3
expr 3 / 6
expr 30 / 3 / 2
expr 30 / 3
expr 30 \* 3
expr 30 \* 9

# 增量计数
#
LOOP=0
LOOP=`expr $LOOP + 1 `

#数值测试
#expr rr + 1
value=12
expr $value + 10 >/dev/null 2>&1
echo $?

value=hello
expr $value + 10 >/dev/null 2>&1
echo $?

expr $value + 10 >/dev/null 2>&1[/PHP]
 楼主| 发表于 2006-12-26 16:56:19 | 显示全部楼层
占位。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表