首页 / 操作系统 / Linux / Linux shell入门之变量测试
格式:test 测试条件字符串测试:注意空格:test str1 == str2 测试字符串是否相等test str1 != str2 测试字符串是否不相等test str1 测试字符串是否不为空test -n str1 测试字符串是否不为空test -z str1 测试字符串是否为空整数测试test int1 -eq int2 测试整数是否相等test int1 -ge int2 测试int1是否>=int2test int1 -gt int2 测试int1是否>int2test int1 -le int2 测试int1是否<=int2test int1 -lt int2 测试int1是否<int2test int1 -ne int2 测试两个数是否不相等文件测试test -d file 指定文件是否为目录test -f file 指定文件是否为常规文件test -x file 指定文件是否可执行test -r file 指定文件是否可读test -w file 指定文件是否可写test -a file 指定文件是否存在test -s file 指定文件大小是否非0
测试语句一般不单独使用,一般作为if语句的测试条件,如:if test "hello" == "hello" ;thencommands....fi上面语句也可简化为(注意[]与"之间的空格)if [ "hello" == "hello" ];then....
看一段代码:#!/bin/bashif test "hello" == "hello" ;thenecho "equals"elseecho "not equals"fiif test -z "" ;thenecho "str is null"fiif test -n "" ;thenecho "str is not null"fiif test "9" ;thenecho "not null"elseecho "null"fi#easy wayif [ "hello" == "hello" ];thenecho "equals"elseecho "not equals"fiif [ -f /root/test/test1 ];thenecho "test1 is a file"elif [ -d /root/test/test1 ];thenecho "test1 is a dir"elseecho "i don"t know the result"fi执行效果:
Linux Shell在while中用read从键盘输入 http://www.linuxidc.com/Linux/2015-06/118831.htmLinux Shell 程序调试 http://www.linuxidc.com/Linux/2015-07/119880.htmLinux Shell脚本面试25问 http://www.linuxidc.com/Linux/2015-04/116474.htmLinux/Unix Shell 参数传递到SQL脚本 http://www.linuxidc.com/Linux/2013-03/80568.htmShell脚本中参数传递方法介绍 http://www.linuxidc.com/Linux/2012-08/69155.htmShell脚本传递命令行参数 http://www.linuxidc.com/Linux/2012-01/52192.htmLinux Shell 通配符、转义字符、元字符、特殊字符 http://www.linuxidc.com/Linux/2014-10/108111.htm 本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121391.htm