ansible - 评估 Ansible 标准输出以结束输出
问题描述
我有一个 shell 任务,它获取碎片整理配置,并将其存储在一个变量中,例如:
- name: Check if hugepages is disabled
shell: cat /sys/kernel/mm/transparent_hugepage/defrag
register: hugepages_status
changed_when: False
在以下任务中,我想评估hugepages_status
, 以查看其中的最后一个词是否为“从不”。我如何阅读hugepages_status
以评估字符串中的最后一个单词?
就像是:
- name: Disable hugepages
shell: echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
when: swap_status.stdout != "*never"
解决方案
您可以使用 is search 来搜索字符串而不考虑位置。我认为这足以满足这种情况。如果您只想在最后搜索,请告诉我。
---
- name: play
hosts: localhost
tasks:
- name: Check if hugepages is disabled
shell: cat /sys/kernel/mm/transparent_hugepage/defrag
register: hugepages_status
- name: display the output
debug:
var: hugepages_status.stdout_lines
when: hugepages_status.stdout is search('never')
推荐阅读
- r - 使用 NA 索引会返回所有 NA
- arrays - 从 PostData 的 JSONObject 获取 JSONArray 时出错
- java - 为 Spring Profile 提供配置文件名称
- eclipse - Eclipse:在启动时启用与编辑器的链接
- c++ - 如何在 constexpr if-else 链中导致静态错误?
- scala - 有没有办法在 yaml 文件中应用条件并通过从 yaml 读取在 scala 中运行?提供一个简单的同文件yaml示例
- javascript - 在 javascript 中使用 toLocaleString 模块得到错误的结果
- node.js - 使用 azure DevOps 管道部署 Azure 函数应用
- python - 如何拆分括号内用逗号分隔的字符串
- reactjs - react-stripe-elements v1.1.0 createPaymentMethod 在 react 15.6.2 中不起作用