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

如何在Ansible主机名称中对冒号特殊字符进行转义

解决方法

原配置中未转义的冒号会被Ansible识别为主机模式的分隔符,因此会拆成my和host两个独立主机匹配,你可以通过以下方式转义冒号,让其被识别为单个主机名:

方法1:单引号包裹+单反斜杠转义

单引号内的反斜杠不需要额外转义,写法更简洁:

- name: Do stuff
  hosts: 'my\:host'
...

方法2:双引号包裹+双反斜杠转义

双引号会自动转义反斜杠本身,因此需要写两个反斜杠才能被Ansible识别为转义符:

- name: Do stuff
  hosts: "my\\:host"
...

通用兼容方案

如果担心转义符在不同Ansible版本下的兼容性,也可以通过条件判断匹配目标主机,无需处理特殊字符转义:

- name: Do stuff
  hosts: all
  gather_facts: no
  when: inventory_hostname == 'my:host'
  tasks:
    # 你的任务逻辑
    ...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:24:03