ansible 将数值存储在寄存器变量中并检查条件语句

ansible to store numeric value in register variable and check the condition statement

我正在使用下面的 ansible 剧本来检查根 (/) 大小。如果它大于 80%,则应该通过条件。但这没有按预期工作。有人可以帮我解决这个问题吗?

  tasks:
- name: Check the space of the root
  shell: |
     df -h / | awk -F" " '{print }' | sed 's/%//g' | tail -1
  register: disk_output

- debug:
   msg: "the root is greater than 80%"
  when: disk_output.stdout > 80

A​​nsible 在条件中使用 Jinja2 测试和过滤器。

您可以使用 int 过滤器将 disk_output.stdout 转换为整数,然后将其与 80 值进行比较:

  - debug:
      msg: "the root is greater than 80%"
    when: disk_output.stdout | int > 80

干杯