You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible标准循环无法运行,请求排查错误原因

解决Ansible剧本的YAML缩进错误问题

我看了你的剧本和报错信息,问题出在YAML的缩进不符合规范上——Ansible对YAML的缩进要求非常严格,哪怕一个空格不对都会触发语法错误。

从你提供的代码来看,user模块下的state和groups参数缩进比name要少,这就导致YAML解析器无法正确识别这些参数属于user模块,进而抛出语法错误。而错误提示指向的- name: looptask只是解析器最先发现异常的位置,实际问题在下方的参数缩进部分。

修正后的完整剧本

把state和groups的缩进调整到和name完全一致,确保它们都是user模块的子参数:

--- # Playbook file: loopplay.yml
- name: loopplay
  hosts: centos2
  tags:
    - loopplay
  tasks:
    - name: looptask
      user:
        name: "{{ item }}"
        state: present
        groups: "wheel"
      loop:
        - testuser1
        - testuser2

额外小建议

  • 编写YAML时统一用2个空格作为缩进单位,绝对不要混用Tab和空格,大部分YAML语法错误都来自这类细节
  • 可以用yamllint工具提前检查YAML文件的语法,能快速定位缩进、格式这类问题

内容的提问来源于stack exchange,提问作者peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:46:03