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

如何从Ansible变量ansible_eth0.ipv4.address中提取纯IP地址

解决Ansible变量提取纯IP地址的问题

你的问题是因为{{ ansible_eth0.ipv4.address }}返回的是列表类型数据,所以会带有[' ']格式,以下几种方法可以提取纯IP地址:

  • 直接取列表第一个元素
    因为列表里只有一个IP,直接通过索引[0]获取即可,在lineinfile模块中这样使用:

    - name: 将纯IP写入文件
      lineinfile:
        path: /目标文件路径
        line: "{{ ansible_eth0.ipv4.address[0] }}"
        state: present
    
  • 使用join过滤器转换
    如果不确定列表元素数量,用join('')可以将列表所有元素拼接成字符串,这里单个元素的结果就是纯IP:

    - name: 将纯IP写入文件
      lineinfile:
        path: /目标文件路径
        line: "{{ ansible_eth0.ipv4.address | join('') }}"
        state: present
    
  • 提前确认变量结构
    若后续出现多个IP的情况,先通过debug模块查看变量详情,方便调整处理逻辑:

    - name: 查看IP变量结构
      debug:
        var: ansible_eth0.ipv4.address
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 10:34:50