当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 条件测试
帖子发表于 : 2006-12-26 16:40 

注册: 2006-12-14 19:14
帖子: 160
送出感谢: 0 次
接收感谢: 0 次
#!/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


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译