Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1414920
  • 博文数量: 842
  • 博客积分: 12411
  • 博客等级: 上将
  • 技术积分: 5772
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-14 14:43
文章分类

全部博文(842)

文章存档

2013年(157)

2012年(685)

分类:

2012-03-28 14:08:44

Shell的测试命令的语法格式为:
test 表达式
或者
[ 表达式 ] (“[”后以及“]”之前要有空格)

例:test 1 -gt 2测试1是否大于2。test通常与if、while、until等语句一起使用。


表达式有以下类型:

测试文件属性

-b file:如果文件 存在且为块设备(Block special),则值为真;

-c file:如果文件存在且为字符设备(Character special),则值为真;

-r file:如果文件存在且为只读,则值为真;

-w file:如果文件存在且可写入,则值为真;

-x file:如果文件存在且可执行,则值为真;

-s file:如果文件存在且长度大于零,则值为真;

-d file:如果文件是一个目录,则值为真;

-f file:如果文件是一个普通文件,则值为真;

-e file:如果文件存在,则值为真。


测试数值

n1 -eq n2:n1等于n2,则值为真;

n1 -ne n2:n1不等于n2,则值为真;

n1 -gt n2:n1大于n2,则值为真;

n1 -lt n2:n1小于n2,则值为真;

n1 -ge n2:n1大于等于n2,则值为真;

n1 -le n2:n1小于等于n2,则值为真;


测试字符串

-z s1:如果s1长度为零,则值为真;

-n s1:如果s1长度不为零,则值为真;

s1 = s2:如果s1与s2相等,则值为真;

s1 != s2:如果s1与s2不等,则值为真;

s1:如果s1不是空串,则值为真;


测试逻辑运算符

-a:二元“与”操作符。例:if test $x -gt $y -a $y -gt $z。

-o:二元“或”操作符。

!:一元“非”操作符。例:if test ! $x -eq $y。


阅读(456) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~