读书人

shell判断:数值、字符串、资料

发布时间: 2012-11-07 09:56:10 作者: rapoo

shell判断:数值、字符串、文件
(1)数值测试:

  -eq 等于则为真。

  -ne 不等于则为真。

  -gt 大于则为真。

  -ge 大于等于则为真。

  -lt 小于则为真。

  -le 小于等于则为真。

  (2)字串测试:

  = 等于则为真。

  != 不相等则为真。

  -z字串 字串长度为0则为真。

  -n字串 字串长度不为0则为真。

  (3)文件测试:

test File1 ef File2 两个文件具有同样的设备号和i结点号

test File1 nt File2 文件1比文件2 新

test File1 ot File2 文件1比文件2 旧

test b File 文件存在并且是块设备文件

test c File 文件存在并且是字符设备文件

test d File 文件存在并且是目录

test e File 文件存在

test f File 文件存在并且是正规文件

test g File 文件存在并且是设置了组ID

test G File 文件存在并且属于有效组ID

test h File 文件存在并且是一个符号链接(同-L)

test k File 文件存在并且设置了sticky位

test b File 文件存在并且是块设备文件

test L File 文件存在并且是一个符号链接(同-h)

test o File 文件存在并且属于有效用户ID

test p File 文件存在并且是一个命名管道

test r File 文件存在并且可读

test s File 文件存在并且是一个套接字

test t FD 文件描述符是在一个终端打开的

test u File 文件存在并且设置了它的set-user-id位

test w File 文件存在并且可写

test x File 文件存在并且可执行



  -e文件名 如果文件存在则为真。

  -r文件名 如果文件存在且可读则为真。

  -w文件名 如果文件存在且可写则为真。

  -x文件名 如果文件存在且可执行则为真。

  -s文件名 如果文件存在且至少有一个字符则为真。

  -d文件名 如果文件存在且为目录则为真。

  -f文件名 如果文件存在且为普通文件则为真。

  -c文件名 如果文件存在且为字符型特殊文件则为真。

  -b文件名 如果文件存在且为块特殊文件则为真。

  另外,Linux还提供了与(!)、或(-o)、非(-a)三个逻辑操作符,用于将测试条件连接起来,其优先顺序为:!最高,-a次之,-o最低。

  同时,bash也能完成简单的算术运算,格式如下:

  $[expression]

  例如:

  var1=2

  var2=$[var1*10+1]

  则var2的值为21。

读书人网 >编程

热点推荐