我目前有一个 YAML 文件,它定义了几个变量:
variable_a: some_value_1
variable_b: some_value_2
variable_c: some_value_3
Run Code Online (Sandbox Code Playgroud)
是否有任何可以从终端运行的临时命令,可以让我有选择地打印每个变量的值?例如
ansible --file=my_file.yml --print-var=variable_a
Run Code Online (Sandbox Code Playgroud)
会打印
some_value_1
Run Code Online (Sandbox Code Playgroud)
我需要在 bash 脚本中访问这些变量,所以我不能只使用include_vars.
您必须使用ad-hoc 命令的--extra-vars或选项传递变量文件。-e
给定一个带有变量的 YAML 文件my_vars.yml
variable_a: some_value_1
variable_b: some_value_2
variable_c: some_value_3
Run Code Online (Sandbox Code Playgroud)
运行临时命令:
~$ ansible localhost -m debug -a "var=variable_a" -e @my_vars.yml
localhost | SUCCESS => {
"variable_a": "some_value_1"
}
Run Code Online (Sandbox Code Playgroud)
如果你想修剪输出:
~$ ansible localhost -m debug -a "var=variable_a" -e @my_vars.yml | grep variable_a | awk '{print $2}'
"some_value_1"
Run Code Online (Sandbox Code Playgroud)