gpt4 book ai didi

Ansible 获取带点的变量

转载 作者:行者123 更新时间:2023-12-04 14:53:03 27 4
gpt4 key购买 nike

我希望 Ansible 读出内核中的用户命名空间是否被激活 (CentOS)。当我运行时,相应的值是可见的

- debug:
msg: "{{ ansible_cmdline }}"

这给了我输出:

 "msg": {
"BOOT_IMAGE": "/vmlinuz-...",
"LANG": "...",
"crashkernel": "...",
"namespace.unpriv_enable": "...",
"quiet": ...,
"rd.lvm.lv": "...",
"rhgb": ...,
"ro": ...,
"root": "...",
"user_namespace.enable": "1"
}

但是,我直接查询子键没有成功:

- debug:
msg: "{{ ansible_cmdline.user_namespace.enable }}"

Ansible 将 .enable 解释为另一个子键:任务包含一个带有 undefined variable 的选项。错误是:“dict object”没有属性“user_namespace”

如何访问 key "user_namespace.enable"

最佳答案

自己解决了:

要使用点来寻址键,请使用带单引号的数组表示法而不是点表示法,即:

- debug:
msg: "{{ ansible_cmdline['user_namespace.enable'] }}"

这会返回值。

参见:Ansible FAQ

关于Ansible 获取带点的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52371537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com