Linux “是否有一些可解释的等价物?”;“当”失败;为了成功

Linux “是否有一些可解释的等价物?”;“当”失败;为了成功,linux,ansible,Linux,Ansible,查看有关错误处理的文档 我只看到一种方法在设置失败时失败,我想知道是否有任何方法可以完成此操作 看起来像这样的东西: 谢谢。似乎没有这样的功能,至少我在邮件列表上的建议没有得到回应: 当的行为与其语义不同时,知道失败可能会有所帮助: - name: ping pong redis command: redis-cli ping register: command_result failed_when: - "'PONG' not in command_result.std

查看有关错误处理的文档

我只看到一种方法在设置失败时失败,我想知道是否有任何方法可以完成此操作

看起来像这样的东西:


谢谢。

似乎没有这样的功能,至少我在邮件列表上的建议没有得到回应:

当的行为与其语义不同时,知道
失败可能会有所帮助:

- name: ping pong redis
  command: redis-cli ping
  register: command_result
  failed_when: 
    - "'PONG' not in command_result.stderr"
    - "command_result.rc != 0"
如果返回代码为0且stderr中没有“PONG”,则不会失败。 因此,如果列表中的任何一个是
False

我想这可能就是你想要的

1.5版中的新版本

示例:

- assert: { that: "ansible_os_family != 'RedHat'" }

值得注意的是,您也可以将任何布尔表达式包装在parens中,并在其前面加上“not”以获得相同的效果。例如,
not(url |匹配('http://example.com/.*)
。指出这一点,因为这里有点隐藏,因为您使用的是内联
而不是
=,而通常没有特殊的内联运算符。
- assert: { that: "ansible_os_family != 'RedHat'" }