Ansible 如何检查程序输出的版本信息
目标
假如希望检查远程主机上某个程序的版本,如何用 ansible 实现?
比如 python -V
输出版本号
$ python -V
Python 3.8.10
为了确保Python 的版本是 3 ,我们可以检查输出中是否包含 “Python 3” 的字符串。
- name: checking version
ansible.builtin.shell:
cmd: "python -V"
register: python_version
failed_when: '"Python 3" not in python_version.stderr'
changed_when: false
...
上面这段 task 中,将 python -V
的输出保存在 python_version
临时变量中,然后检查如果输出中未包含 “Python 3”,就使此次 task 失败。
而 changed_when: false
用来使此次 task 结果不显示为 changed