gpt4 book ai didi

linux - 在输出和捕获结果时在 bash 脚本中运行命令

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:57 25 4
gpt4 key购买 nike

我在 bash 脚本中运行一个 ansible 命令 ansible-playbook ,但是当 ansible 出于某种原因失败时,我需要脚本来检测它并处理错误(例如输出一个定义的消息和exit 1)

我似乎无法确定仍然显示 ansible-playbook 命令输出的最佳方法,但捕获输出以查找是否存在错误然后退出 bash 脚本?

这是根据 ansible-playbook 的输出检测故障/错误的方式。完整输出可能约为 100 行。

[0;32m    openstack: PLAY RECAP ***********************************  
[0;32m openstack: ok=92 changed=73 unreachable=0 failed=1

从上面可以看出,failed=1表示失败,所以如果有failed=[1-9]+,bash脚本应该退出.

我尝试过使用像 tee 这样的命令,但运气不佳。

最佳答案

我无法回答如何最好地捕获命令的输出并在 bash 脚本中执行时仍然显示它的问题。

但这里有一个非常简单的替代方法。 Activate logging在你的 ansbile.cfg 中:

log_path=/var/log/ansible.log

在开始 Ansible 运行之前,粉碎该文件。运行 Ansible。然后检查日志文件中是否存在您的模式。

关于linux - 在输出和捕获结果时在 bash 脚本中运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36024137/

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