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

如何通过命令行获取Ansible特殊变量(魔法变量)完整列表

离线获取Ansible魔法变量列表的实现方案

完全可以在离线状态下通过Ansible自带工具实现需求,无需访问在线文档,以下是几种常用方法:

方法1:使用ansible-doc直接查询(适用于Ansible 2.11及以上版本)

ansible-doc原生支持查询特殊变量的元数据:

  • 列出所有当前版本支持的魔法变量名称列表:
ansible-doc --type special_variable --list
  • 查看某一个具体魔法变量的详细说明、使用场景和示例:
ansible-doc --type special_variable <目标变量名>
# 示例:查看ansible_version变量的说明
ansible-doc --type special_variable ansible_version

方法2:通过本地adhoc命令导出上下文生效变量(全版本兼容)

直接调用debug模块输出当前本地执行环境下所有可用的内置变量:

  • 输出所有包含facts在内的全部主机变量,其中就包含所有生效的魔法变量:
ansible localhost -m debug -a 'var=hostvars[inventory_hostname]'
  • 仅过滤输出魔法变量,排除普通采集到的facts数据:
ansible localhost -m debug -a 'var=hostvars[inventory_hostname] | keys | select("match", "^ansible_|^groups|^group_names|^inventory_hostname|^playbook_dir|^role_path|^ansible_play_batch") | list'

方法3:查看本地安装的Ansible源码定义

如果你需要看最原始的变量定义逻辑,可以直接读取本地Ansible安装目录下的源码文件:

  • 全局魔法变量的定义一般存放在Ansible安装路径下的ansible/vars/__init__.py、ansible/config/base.yml两个文件中,直接用文本编辑器打开即可查看全部内置变量的声明。

注意事项

以上方法获取的变量列表和你当前安装的Ansible版本完全匹配,比通用在线文档更符合你的实际运行环境,不会出现版本不匹配的无效变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:27:04