如何在 ansible 上使用 OR 很好地拆分多行长条件?
How to nicely split on multiple lines long conditionals with OR on ansible?
我已经知道,如果您在它们之间有很长的条件,您可以使用列表将它们分成多行。
不过,对于您在它们之间有 OR 的情况,我不知道有任何解决方案。
现实生活中的实例:
when: ansible_user_dir is not defined or ansible_python is not defined or ansible_processor_vcpus is not defined
这一行很难看,而且显然不适合 79 列。
我们如何重写它以使其更易于阅读?
使用 YAML 折叠运算符>
when: >
ansible_user_dir is not defined or
ansible_python is not defined or
ansible_processor_vcpus is not defined
正如 ansible 文档所述:
Values can span multiple lines using |
or >
. Spanning multiple lines using a Literal Block Scalar |
will include the newlines and any trailing spaces. Using a Folded Block Scalar >
will fold newlines to spaces; it’s used to make what would otherwise be a very long line easier to read and edit. In either case the indentation will be ignored.
可在此处找到其他信息:
我已经知道,如果您在它们之间有很长的条件,您可以使用列表将它们分成多行。
不过,对于您在它们之间有 OR 的情况,我不知道有任何解决方案。
现实生活中的实例:
when: ansible_user_dir is not defined or ansible_python is not defined or ansible_processor_vcpus is not defined
这一行很难看,而且显然不适合 79 列。
我们如何重写它以使其更易于阅读?
使用 YAML 折叠运算符>
when: >
ansible_user_dir is not defined or
ansible_python is not defined or
ansible_processor_vcpus is not defined
正如 ansible 文档所述:
Values can span multiple lines using
|
or>
. Spanning multiple lines using a Literal Block Scalar|
will include the newlines and any trailing spaces. Using a Folded Block Scalar>
will fold newlines to spaces; it’s used to make what would otherwise be a very long line easier to read and edit. In either case the indentation will be ignored.
可在此处找到其他信息: