#ansible
#ansible
Вопрос:
У меня есть задача оболочки, которая получает конфигурацию дефрагментации и сохраняет ее в переменной, например:
- 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"
Ответ №1:
Вы можете использовать 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')