test命令用于测试字符串、文件状态和数字,expr测试和执行数值输出。 Test格式:test condition 或 [ condition ](需要特别注意的是condition的两边都要有一个空格,否则会报错),test命令返回0表示成功。 下面将分别描述test的三种测试: 文件状态测试(常用的) -d 测试是否文件夹 -f 测试是否一般文件 -L 测试是否链接文件 -r 测试文件是否可读 -w 测试文件是否可写 -x 测试文件是否可执行 -s 测试文件是否非空 1、字符串测试 五种格式: test “string” test string_operator “string” test “string” string_operator “string” [ string_operator “string” ] [ “string” string_operator “string” ] 其中string_operator可以为: = 两字符串相等 != 两字符串不等 -z 空串 -n 非空串 2、数值测试 两种格式: “number” number_operator “number” [ “number” number_operator “number” ] 其中:number_operator 可以为:-eq 、-ne、-gt、-lt、-ge 例如: NUMBER=130 [ “990” –le “995” –a “NUMBER” -gt “133” ] (其中-a表示前后结果相“与”) expr命令一般用于整数值,但也可以用于字符串。 格式: expr srgument operator operator argument 例如: expr 10 + 10 expr 10 ^ 2 (10的平方) expr $value + 10 增量计数--expr在循环中最基本的用法 例如: LOOP=0 LOOP=`expr $LOOP + 1` 3、模式匹配:通过指定的冒号选项计算字符串中的字符数 例如: value=account.doc expr $value : `(.*).doc` 输出 account (责任编辑:IT) |