Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具—test命令,可以对条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立) 使用test测试命令时,包括以下两种形式。
test 【测试选项】 条件表达式或者
[ 【测试选项】 条件表达式 ]这两种方式的作用完全相同,但通常后一种形式更为常用,也更贴近编程习惯。需要注意的是,方括号 “[ ]”与条件表达式之间需要至少需要一个空格进行分隔。 根据需要测试的条件类别不同,条件表达式也不同。比较常用的条件操作包括文件测试、整数值比较、字符串比较,以及针对多个条件的逻辑测试。
逻辑测试指的是判断两个或多个条件之间的依赖关系。当系统任务取决于多个不同的条件时,判断是根据这些条件同时成立还是只要有其中一个成立等情况,需要有一个测试的过程。常用的逻辑测试操作如下👇,使用时放在不同的测试语句或命令之间。
&&:逻辑与,表示“并且”,只有前后两个条件都成立时,整个测试命令的返回值才为0(结果成立)。使用test命令测试时,可改用test -a||:逻辑或,表示“或者”,只要前后两个条件中有一个成立,整个测试命令的返回值及为0(结果成立)。使用test命令测试时,可改用test -o!:逻辑否,表示“不”,只有当指定的条件不成立时,整个测试命令的返回值才为0(结果成立)