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

如何在Ansible Playbook中将变量值写入指定文件?

Ansible 变量写入指定格式文件实现方法

有两种常用的实现方案,都可以满足需求:

方案1:使用 copy 模块直接生成(适合内容简单的场景)

直接在现有 Playbook 中新增 copy 任务即可,完整示例如下:

- hosts: myhost
  vars:
    A: "{{ input }}"
  tasks:
    - name: 写入变量值到文件B
      ansible.builtin.copy:
        dest: /your/target/path/B # 替换为文件B的实际存储路径
        content: 'A="{{ A }}"'

Ansible 会自动将变量 A 的实际值(也就是 survey 输入的内容)渲染到 content 中,直接生成符合格式要求的文件B。

方案2:使用 template 模块(适合文件内容复杂、后续有扩展需求的场景)

  • 新建 Jinja2 模板文件 B.j2,内容直接写你需要的格式:
    A="{{ A }}"
    
  • 在 Playbook 中新增 template 任务调用模板:
    - hosts: myhost
      vars:
        A: "{{ input }}"
      tasks:
        - name: 渲染模板生成文件B
          ansible.builtin.template:
            src: /your/template/path/B.j2 # 替换为模板文件的实际路径
            dest: /your/target/path/B # 替换为文件B的实际存储路径
    

注意事项

  • 两种方案都支持 survey 输入的任意合法字符串内容,无需手动处理转义,Ansible 会自动适配特殊字符
  • 若需要覆盖文件已有内容,两个模块默认都会直接覆盖,不需要额外加参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:45:06