Chinaunix首页 | 论坛 | 博客
  • 博客访问: 532534
  • 博文数量: 119
  • 博客积分: 3167
  • 博客等级: 中校
  • 技术积分: 1215
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-20 21:21
文章分类

全部博文(119)

文章存档

2015年(21)

2012年(4)

2011年(1)

2007年(11)

2006年(50)

2005年(32)

分类: LINUX

2005-12-20 21:49:47

常用的测试一般包括对文件的测试 对字符串的测试和对数值的测试

我们可以使用test expr这两个工具来完成需要的测试

数值的计算 使用expr

 

expr 一般用于整数, 有时也用与字符串

基本运算例子,注意expr表达式中运算符的左右必须都有空格 ,如下

$expr 10 + 10

20

$expr 30 / 3

10

$expr 10 *2

20

 

增量计数

$LOOP=0

$LOOP=`expr $LOOP + 1`

 

如果expr 中算术运算符的一边不是数值类型,则返回错误 ,我们可以使用这个特征来判断某个变量是否是数值类型

$VALUE=12

$expr $VALUE + 1 > /dev/null > 2>&1

$echo #?

0

如果返回为0 则说明VALUE为数值类型, 否则不是

 

Test 使用的两种方式

 

test condition

 

[ condition ]        注意condition两边的空格不能少

 

Test 进行数值测试:

格式:

[ NUM1 OPERATOR NUM2 ]

OPERATOR 有:

-eq                 equal 相等

-ne                 not equal 不相等

-gt                 great than 大于

-lt                  less than 小于

-le                  less or equal 小于或等于                  

-ge                 great or equal 大余或等于

例子:

$NUMBER=30

$[ “$NUMBER” –eq “10” ]

$echo #?

1

 

Test 进行字符串测试

[ string operator string ]

Operator :

= 两个字符串相等

!= 不相等

-z 空串

-n 非空串

 

Test 进行文件测试

-d                 目录

-f                  普通文件

-L                 符号连接

-r                 可读

-s                  文件长度大于0、非空

-w                 可写

-u                  被设置了SUID

-x                  可执行

例子:

$[ -x score.txt ]

$echo #?

 

Test 中使用逻辑运算符

-a 逻辑与           ALL

-o 逻辑或           OR

!  逻辑非 condition 为真, 取非则返回假

例子:

$[ -w results.txt –a –w score.txt ]

$echo #?

0

说明两个文件都可写

 

Summary:

记忆test使用的技巧

当字符串比较的时候  = , != , -z , -n

当数值比较的时候, –eq ,  -ne,  -lt, -le, -gt,  -ge

测试文件,用 –d , -f , -L , -r , -w , -x 

最后就是test中使用逻辑运算 –a (ALL) , -o(OR) , !

阅读(1195) | 评论(0) | 转发(0) |
0

上一篇:SAMBA

下一篇:oracle note 01

给主人留下些什么吧!~~