如何将值从ansible playbook返回到shell脚本?

时间:2017-08-22 10:46:51

标签: shell ansible

我从shell脚本调用一个playbook,例如

#!/bin/bash
UPGRADE=`ansible-playbook -i /etc/ansible/hosts checkUpgrade.yml`
echo " UPGRADE VALUE $UPGRADE "

我想从checkUpgrade.yml返回/设置一些变量,以便我的调用者脚本可以将它用于进一步使用。

注意:不要将值写入文件

1 个答案:

答案 0 :(得分:0)

Registering Variables for later use in playbooks

Using registered variables in conditionals

Reading Registered variable Return Values

如果在命令或shell上注册变量,则始终(?)保存返回码。

更具体到你的明显用途,让playbook的结尾输出一些你可以在$ UPGRADE中扫描的关键标记字符串。

if grep -q SPECIAL_CONDITION_1 $UPGRADE
then doStuff1
elif grep -q SPECIAL_CONDITION_2 $UPGRADE
then doStuff2
...

提高效率的方法,但这应该说明问题。