Linux企业实战-ansible(39)判断 test
可以利用exists判断文件是否存在
也可以反向去写如果不存在就显示不存在
运行结果如下
上述写法也可以把not写到前面
判断变量的一些tests
defined:判断变量是否已经定义,已经定义则返回真undefind:判断变量是否已经定义,未定义则返回真none:判断变量值是否为空,如果变量已经定义,但是变量值为空,则返回真
判断执行结果的一些tests
success 或succeeded:通过任务的返回信息判断任务的执行状态,任务执行成功则返回真
failure 或failed:通过任务的返回信息判断任务的执行状态,任务执行失败则返回真
change或changed:通过任务的返回信息判断任务的执行状态,任务执行状态为changed则返回真
skip或skipped:通过任务的返回信息判断任务的执行状态,当任务没有满足条件,而被跳过执行时,则返回真
这是我们执行之后
因为第一个task文件不存在所以会报错但是由于我们使用ignore_errors=true所以他会继续执行
判断路径的一些tests
注:如下tests的判断均针对于ansible主机中的路径,与目标主机无关
file:判断路径是否是一个文件,如果路径是一个文件则返回真
directory:判断路径是否是一个目录,如果路径是一个目录则返回真
link:判断路径是否是一个软链接,如果路径是一个软链接则返回真
mount:判断路径是否是一个挂载点,如果路径是一个挂载点则返回真
exists:判断路径是否存在,如果路径存在则返回真
如果存在则返回真如果不存在则跳过