十一、Shell test命令

来源:互联网 发布:软件用户手册英文 编辑:程序博客网 时间:2024/06/08 17:20

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

(1)数值测试

参数      说明-eq     等于则为真-ne     不等于则为真-gt     大于则为真-ge     大于等于则为真-lt     小于则为真-le     小于等于则为真
eg:运算符:num1=100num2=100if [ ${num1} -eq ${num2} ]then    echo 'The two numbers are equal!'else    echo 'The two numbers are not equal!'fi
数值测试:num1=100num2=100if test ${num1} -eq ${num2}then    echo 'The two numbers are equal!'else    echo 'The two numbers are not equal!'fi结果:The two numbers are equal!

(2)字符串测试

参数          说明=           等于则为真!=          不相等则为真-z 字符串  字符串长度伪则为真-n 字符串  字符串长度不伪则为真
eg:str1="jiaomeiqi"str2="cdsjkv"if test ${str1} = ${str2}then    echo 'The two strings are equal!'else    echo 'The two strings are not equal!'fi结果:The two strings are not equal!

(3)文件测试

参数              说明-e 文件名  如果文件存在则为真(exists)-r 文件名  如果文件存在且可读则为真-w 文件名  如果文件存在且可写则为真-x 文件名  如果文件存在且可执行则为真-s 文件名  如果文件存在且至少有一个字符则为真-d 文件名  如果文件存在且为目录则为真-f 文件名  如果文件存在且为普通文件则为真-c 文件名  如果文件存在且为字符型特殊文件则为真-b 文件名  如果文件存在且为块特殊文件则为真 
eg1:cd /home/dataif test -e ./a.shthen    echo 'The file already exists!'else    echo 'The file does not exists!'fi结果:The file already exists!

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

eg2:cd /homeif test -e ./data -o ./tmpthen    echo 'One file exists at least!'else    echo 'Both dose not exists!'fi结果:One file exists at least!
原创粉丝点击