前言
使用最基本的Linux命令写成的Shell脚本往往在使用中会显得笨拙、不够灵活,它往往不能根据服务器实际情况自我做出判断,这个时候我们就可以用条件判断与if语句等方式来帮助我们。
一、条件测试
(1)文件测试与整数测试
①文件测试
- 要使shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同情况以确定执行何种操作。
- 测试特定的表达式是否成立,当条件成立,测试语句的返回值为0,否则为其他数值 。
格式:
test 条件表达式
或 [ 条件表达式 ] (条件表达式的两边都需要有空格,且此方法更为常用)
②整数测试
格式:
[ 整数1 操作符 整数2 ]
常见测试操作符:
二、逻辑测试
逻辑测试指的是判断两个或多个条件之间的依赖关系。当系统任务取决于多个不同条件时,判断是根据这些条件同时成立还是只要有其中一个成立等情况,需要有一个测试过程。
格式:
[ 表达式1 ] 操作符 [ 表达式2 ]
命令1 操作符 命令2
常用的测试操作符
&&:逻辑与,表示而且,只有当两个条件都成立时,整个测试命令的返回值才为0(结果成立)。
使用Test命令测试时,“&&”可改为“-a”。
||:逻辑或,表示或者,只要前后两个条件有一个成立,整个测试命令的返回值即为0(结果成立)。
使用Test命令测试时,“||”可改为“-o”。
!:逻辑否,表示“不”,只有当指定的条件不成立时,整个测试命令的返回值才为0(结果成立)。