Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ansible/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible 可解析版本比较失败_Ansible_Conditional Statements - Fatal编程技术网

Ansible 可解析版本比较失败

Ansible 可解析版本比较失败,ansible,conditional-statements,Ansible,Conditional Statements,我在Ansible中遇到版本比较不适合我的问题。在本例中,Ansible运行调试任务,但我希望跳过它。我运行的是2.10.7版。我错过了什么 --- - hosts: hqdbepo1 gather_facts: true become: false tasks: - name: check NuGet version win_shell: (Get-PackageProvider -Name NuGet -Force | Select-Object Versio

我在Ansible中遇到版本比较不适合我的问题。在本例中,Ansible运行调试任务,但我希望跳过它。我运行的是2.10.7版。我错过了什么

---
- hosts: hqdbepo1
  gather_facts: true
  become: false
  tasks:
    - name: check NuGet version
      win_shell: (Get-PackageProvider -Name NuGet -Force | Select-Object Version | Format-Table -HideTableHeaders | Out-String).Trim()
      register: nuget_version
      changed_when: false
      check_mode: false

    - name: Ensure the required NuGet package provider version is installed
      debug: var=nuget_version['stdout_lines'][0]
      when: nuget_version['stdout_lines'][0] | string | replace('', '0.0.0.1') is version('2.8.5.0', '<')
---
-主持人:hqdbepo1
收集事实:真实
变成:假
任务:
-名称:检查NuGet版本
win_shell:(Get PackageProvider-Name NuGet-Force |选择对象版本|格式表-HideTableHeaders |输出字符串).Trim()
注册:nuget_版本
更改时间:false
检查模式:false
-名称:确保安装了所需的NuGet软件包提供程序版本
调试:var=nuget\u版本['stdout\u行][0]

当:nuget_version['stdout_lines'][0]| string | replace('0.0.0.1')是版本('2.8.5.0')时,是的。事实证明,我认为比较是如果3.0.0.1<2.8.5.0,但情况正好相反。

nuget_version['stdout_lines']
display you?对不起,我不知道为什么我不想从一开始就包括它。3.0.0.1这一切都是有道理的。
3.0.0.1
不是