[英]Ansible fails to compare version with is version
我使用 Ansible 2.8.5。 我可以使用ansible_facts.package
但很簡單,讓我們使用以下劇本。
- debug:
msg: "{{ { 'version':'5.52.2' } is version('6.0.0','>=') }}"
返回
..."msg" : True
如何正確比較正確的點分隔版本?
我閱讀了官方文檔,但沒能理解函數version
是如何工作的。 甚至有人說這應該引發TypeError
異常。 似乎沒有人理解version
是如何設計的......
嘗試這個。 請參閱版本比較。 在字符串中提供版本。
- hosts: localhost
tasks:
- set_fact:
version1: "5.52.2"
version2: "6.0.0"
- debug:
msg: "{{ version1 is version( version2 , '>=') }}"
為什么不先在變量中register
版本,然后添加檢查。 然后你可以比較變量的內容。 這是一個例子——
failed_when: "'<version>{{ version }}</version>' not in this.content"
- debug: msg=" version is {{ this.content.split('\n')[0].split('version')[1].split('>')[1].split('</')[0]}}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.