语法问题后插入Ansible Lineinfile

时间:2016-04-13 14:30:21

标签: ansible ansible-playbook

我的代码存在一些问题,无法找出语法错误。

我试图从防火墙获取输出并将其放入html文件但我一直卡住了。该命令在其自己的单独文件中输出几行文本。注意目的地已更改以保护它。

- hosts: firewall
  gather_facts: no
  tasks:

  - name: Hardware Info
    raw: show asset all
    register: output

  - local_action: lineinfile dest=dest destination regexp="{{item}}" insertafter="test" line={{item}} 
    with_items: output.stdout_lines

错误:

  
      
  • local_action:lineinfile dest = dest insertafter =" test"   行=' {{项目}}'   ^这里我们可能是错的,但这个看起来可能是缺少引号的问题。始终引用模板表达式括号   当他们开始一个价值。例如:

         

    with_items:

         
        
    • {{foo}}
    •   
  •   
     

应写成:

with_items:
  - "{{ foo }}"

1 个答案:

答案 0 :(得分:0)

更改此行:

- local_action: lineinfile dest=dest destination regexp="{{item}}" insertafter="test" line={{item}} 

对此:

- local_action: lineinfile dest=dest destination regexp="{{item}}" insertafter="test" line="{{item}}"

额外的报价应该有所帮助。

注意从配置管理的角度来看,lineinfile很糟糕,我预测你将来会把你的头发拉出来。