更改错误消息的现金退出代码

时间:2018-01-08 15:40:50

标签: bash

如果堆栈已存在且未执行任何更新,则AWS cli将返回此错误。

An error occurred (ValidationError) when calling the UpdateStack operation: No updates are to be performed.

我想要实现的是,只有在我拥有该消息并保持命令行为不变的情况下,才能使退出代码等于0。

这是我的尝试:

command 2>&1 | grep "No updates are to be performed."

但它并没有完全奏效。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这是我的解决方案:

command 2>&1 | tee command.output

if ! grep -q "No updates are to be performed." command.output; then
   exit "${PIPESTATUS[0]}"
fi

exit 0

当消息等于“不执行更新”时,这不会失败。但它将退出并报告命令的状态代码

请建议更优雅的方式