linux脚本test命令,linux test命令

linux下的test命令是脚本编写中一个非常重要的命令。其主要用于文件(目录)的检测、属性判读、权限判断等。而在使用该命令的过程中,一般不直接使用test -n 字符串这类的表达式去表示。而是使用"[]"或代替test命令。"[]"里使用的参数是继承自test命令的。

一、test命令的应用类型

1、判断表达式

if test (表达式为真)

if test !表达式为假

test 表达式1 –a 表达式2 两个表达式都为真

test 表达式1 –o 表达式2 两个表达式有一个为真

2、判断字符串

test –n 字符串 字符串的长度非零

test –z 字符串 字符串的长度为零

test 字符串1=字符串2 字符串相等

test 字符串1!=字符串2 字符串不等

3、判断整数

test 整数1 –eq 整数2 整数相等(equal)

test 整数1 –ge 整数2 整数1大于等于整数2(greater than or equal)

test 整数1 –gt 整数2 整数1大于整数2(greater than)

test 整数1 –le 整数2 整数1小于等于整数2(less than or equal)

test 整数1 –lt 整数2 整数1小于整数2(less than)

test 整数1 –ne 整数2 整数1不等于整数2(not equal)

4、判断文件

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

test File1 –nt File2 文件1比文件2 新(newer than)

test File1 –ot File2 文件1比文件2 旧(older than)

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 文件存在并且可执行

二、就用举例

这里举一个略微复杂点的例子吧,如下:

if [ "$version" != " " -a "$version" != "$old_version" ];then

……………………

fi

本例第一处用于检测$version参数是否为空,使用"!=",此处使用了字符串的判读。后面的-a,使用判读表达式,要求前面的判读和后面的判都为真,才会执行后面的语句。该表达式还等价于下面的表达式:if [ "$version" != " " ] && [ "$version" != "$old_version" ];then

……………………

fi

注意:-a是在方括号内,而&& 是在方括号外。另外注意上面的方括号和直接test命令都可以使用的,不过习惯上用方括号表示。不要遇到test -d file1这样的语句而不认识。

小技巧:test的用法确实看来来有点多,如果一个个的记的话,是比较难都记住,记不住要使用时,可以在linux下使用man test查看每个参数的作用。当然,E文不好的,也可以像我一样,打开这个页面查下。^v^

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值