Я пытаюсь написать код Playbook, где PID удаленного процесса зарегистрирован в качестве переменной, а затем я выполнять другие команды оболочки против этого PID:Использование переменной зарегистрировано в сборник пьес
- name: capture remote pid
hosts: web.servers
tasks:
- name: capture PID
shell: ps ax | grep eap | cut -d " " -f1
register: pid
- name: print PID information
shell: ps -ef | grep {{ pid.stdout }}
Так что с этой простой PlayBook Я бы ожидать, чтобы напечатать информацию процесса с удаленного PID, однако вообще ничего не напечатано:
PLAY RECAP *********************************************************************
192.3.9.155 : ok=3 changed=2 unreachable=0 failed=0
Любая идея, что случилось с ним?
Благодарим за подробный ответ. Просто примечание, мне пришлось изменить последнюю строку на «debug: var = second_pid», иначе возникнет синтаксическая ошибка. Теперь он работает так, как я ожидал. Благодаря! – Carla
Извините, я не вижу синтаксической ошибки в последней строке, ни мой Ansible. Ваш синтаксис также верен, но нет причин для отказа на YAML-одном. – techraf