在Ansible中,可以使用with_sequence
模块来实现循环$n次的功能。下面是一个示例代码:
- name: Loop n times with with_sequence
hosts: localhost
gather_facts: false
tasks:
- name: Print item
debug:
msg: "Looping item {{ item }}"
with_sequence: start=1 end={{ n }}
在上面的代码中,n
是一个变量,可以在Playbook中定义。with_sequence
模块会生成一个从1到n
的序列,然后使用循环遍历这个序列。在每次循环中,item
变量会被赋值为当前循环的值,然后可以在任务中使用。
你可以将上面的代码保存为一个YAML文件,然后使用ansible-playbook
命令执行该Playbook,并将n
替换为你需要的次数。比如,如果你想要循环5次,可以执行以下命令:
ansible-playbook playbook.yaml -e "n=5"
执行上述命令后,你将会看到类似下面的输出:
TASK [Print item] *************************************************************************************************************
ok: [localhost] => {
"msg": "Looping item 1"
}
TASK [Print item] *************************************************************************************************************
ok: [localhost] => {
"msg": "Looping item 2"
}
TASK [Print item] *************************************************************************************************************
ok: [localhost] => {
"msg": "Looping item 3"
}
TASK [Print item] *************************************************************************************************************
ok: [localhost] => {
"msg": "Looping item 4"
}
TASK [Print item] *************************************************************************************************************
ok: [localhost] => {
"msg": "Looping item 5"
}
以上代码示例使用debug
模块打印出每次循环的值。你可以根据自己的需要,在每次循环中执行其他任务。