测试表达式是否成立,若成立返回0,否则返回其他数值。
格式1: test 条件表达式
格式2: [ 条件表达式 ]
test模块提供了在if-then语句中测试不同条件的途径,如果test命令中列出的条件成立,test命令就会退出并返回状态码0,这样if-then语句就与其他编程语言中的if-then语句以类似的方式工作了,如果条件不成立,test命令就会退出并返回非零的退出状态码,这使得if-then语句不会再被执行。
test命令的格式非常简单:test 表达式
表达式是test命令要测试的一系列参数和值,在if-then语句中,test命令看起来是这样的:
if test 表达式
then
命令
fi
如果不写test命令的表达式部分,它会以非零的退出状态码退出,并执行else语句块
当我们加入一个条件的时候,test命令会测试该条件,这里我门加入一个变量var,并使用test判断变量中是否有内容。
1.格式:操作符 文件名或者目录名
2.常用的测试操作符
1.格式:[ 整数1 操作符 整数2 ]
2.常用的测试操作符
实例:查询当前目录下的文件数是否大于10,如果大于,则进行提示。
实例:查看系统内存是否低于1024M,如果低于则提示。
1.格式:
[ 字符串1 = 字符串2 ] #判断是否相等
[ 字符串1 != 字符串2 ] #判断是否不等
2.常用的测试操作符
实例:判断当前系统语言环境是否为“us.en”,如果不是则提示。
实例:测试用户输入的是否为yes,如果是的话,则进行文件覆盖(这里仅代表输出问文本覆盖,并不是实际操作,实际操作需要写执行命令)
1.格式:
格式1∶ [ 表达式1 ] 操作符 [ 表达式2 ]…
格式2∶ 命令1 操作符 命令2…
2.常用的测试操作符
如果只有一个判断式要进行,那么我们可以使用单分支的if语句
1.格式:
if [ 条件判断式 ]; than
当条件判断成立时,可以进行的命令工作内容
fi #这里将if反过来写,结束if语句的意思
在同一个数据的判断中,如果该数据需要进行两种不同的判断,我们就需要双分支if语句了:
1.格式:
if [ 条件判断式 ]; than
当条件判断成立时,可以进行的命令工作内容
else
当条件判断不成立时,可以进行的命令工作内容
fi
如果数据需要进行多种不同的判断,则可以使用多分支结构
1.格式:
if [ 条件判断式 ]; than
当条件判断成立时,可以进行的命令工作内容
elif [ 条件判断式二 ]; than
当条件判断成立时,可以进行的命令工作内容
else
当上面的条件判断都不成立时,可以进行的命令工作内容
fi
2.原理图:
实例:判断用户输入的为yes还是no,或者是其他错误情况。
1.格式:
case 变量名称 in
“第一个变量内容”
程序段
;;
“第二个变量内容”
程序段
;;
*)
不包含第一个变量内容与第二个变量内容的其他程序执行段
默认程序段
;;
esac