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

如何查看Ansible主机/清单/组变量及指定变量文件夹路径?

Ansible查看主机所有变量及指定变量路径方案

一、获取包含组变量在内的所有主机变量

有两种高效方法可以查看目标主机的所有变量(清单变量、主机变量、组变量):

  1. 使用ansible-inventory命令(推荐)
    直接通过--vars参数让命令输出指定主机的所有合并后变量,无需依赖工作目录位置:
ansible-inventory -i ../inventory.yaml --host spine1-nxos --vars

输出为JSON格式,包含该主机继承的所有组变量、自身主机变量及清单定义的变量。

  1. 使用ansible debug模块
    只要确保Ansible能正确加载变量文件(参考下文路径配置方法),即可在任意目录执行你的原命令:
ansible -m debug -i ../inventory.yaml -a "var=hostvars[inventory_hostname]" spine1-nxos

二、指定主机/组变量的文件夹路径

Ansible默认会从当前工作目录的group_vars和host_vars文件夹加载变量,若你的变量存放在其他路径,可通过以下三种方式指定:

  • 方法1:配置ansible.cfg文件
    在项目目录下创建或修改ansible.cfg,持久化配置变量路径:
[defaults]
inventory = ../inventory.yaml
group_vars_path = /full/path/to/your/group_vars
host_vars_path = /full/path/to/your/host_vars

配置完成后,所有Ansible命令都会自动加载这些路径下的变量文件。

  • 方法2:设置环境变量
    适合临时指定路径,单次会话生效:
export ANSIBLE_GROUP_VARS_PATH=/full/path/to/your/group_vars
export ANSIBLE_HOST_VARS_PATH=/full/path/to/your/host_vars

# 执行变量查看命令
ansible -m debug -i ../inventory.yaml -a "var=hostvars[inventory_hostname]" spine1-nxos
  • 方法3:命令行直接加载变量文件
    临时加载特定变量文件,适合测试场景:
ansible -m debug -i ../inventory.yaml \
  -e "@/path/to/group_vars/all.yml" \
  -e "@/path/to/group_vars/your_target_group.yml" \
  -e "@/path/to/host_vars/spine1-nxos.yml" \
  -a "var=hostvars[inventory_hostname]" spine1-nxos

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 09:06:23