find
- это не простая команда, управляемая параметрами, а команда, реализующая собственный язык управления.
Интерфейс командной строки find
выглядит так:
find [options] path1..pathn [expression]
Где параметры, например, -H
, -L
, -P
и выражение
- это сценарий, написанный на языке управления поиском
.
Такие параметры, как -name
, называются: первичными
, потому что они являются первичными операторами, а полное выражение можно рассматривать как математическое описание фильтра и действий, подобных -print
, -exec
.
Командный язык find
является очень мощным, но все же простым для изучения языком. Программы, которые просматривают деревья каталогов и пытаются реализовать свое поведение только с помощью классических параметров командной строки UNIX, обычно либо менее эффективны, либо трудны для изучения. См., Например, GNU tar
vs. star
(последний поддерживает использование командного языка find
.
Puede pasar variables adicionales a los libros de jugadas de ansible ejecutando
ansible-playbook --limit whatever myplaybook.yml --extra-vars reboot=now
Modifica la parte superior de tu libro de jugadas:
- hosts: all
become: yes
vars:
reboot: notnow
La tarea de reinicio se convierte en:
- name: Rebooting servers now...
command: shutdown -r now "Reboot required for updated kernel"
async: 0
poll: 0
sudo: true
ignore_errors: true
when: reboot == "now"
register: rebooting
Cuando no pasa el parámetro adicional -vars, entonces el var tiene el valor "no ahora" y luego la condición when
no se cumplirá.
Теперь есть модуль, который просто перезагружает машину:https://docs.ansible.com/ansible/latest/modules/reboot_module.html