С помощью zsh
вы можете сделать:
for d (sd<1-10>(Nn-/)) (cd $d && dostuff)
<1-10>
— это оператор glob, который сопоставляет десятичные целые числа от 1 до 10. Он будет соответствовать 1
, 001
... Вы можете сделать его <->
для соответствия любому положительному десятичному целому числу. (Nn-/)
— это квалификатор глобуса. N
чтобы не ошибиться, если совпадений нет n
для численной сортировки элементов (поэтому sd10
идет послеsd2
)-/
для включения только файлов типа каталога (после разрешения символической ссылки ). Если вы хотите перечислить каталоги между двумя датами, где дата закодирована в имени каталога (, напримерsd2017-08-01
):
for d (sd<->-<->-<->(Nne{'
[[ ! $REPLY < sd2015-06-06 && ! $REPLY > sd2017-08-09 ]]'}-/))
(cd $d && dostuff)
Вы уверены, что в вашем плейбуке Ansible нет директивы «становиться :yes»? Эта директива отвечает за привилегированный доступ для агента Ansible.
https://docs.ansible.com/ansible/latest/user_guide/become.html
Большое спасибо Николай, это дало мне хороший способ решить проблему. Я наконец использую:
ansible-playbook permitrootlogin.yml -b -K
-b для «стать» и -K «запросить пароль для повышения привилегий»
TASK [Disallow root SSH access] ******************************************************************************************************************************************************
ok: [server1]
ok: [server2]