如何将变量设置为Bash中"docker compose restart"命令的输出



我编写了一个bash shell来确定docker-compose updocker-compose restart:

#!/bin/bash
re=$(docker-compose -f prod.yml restart)
echo re:${re}
if [[ -n ${re} && ${re} == *"No containers to restart"* ]];then
echo -e 'e[0;31;1mNO CONTAINER FOUND. WILL EXEC UP COMMAND...e[0m'
docker-compose -f prod.yml up
fi

但是每次我执行这个脚本时,varre总是空的。脚本的输出为:

ERROR: No containers to restart
re:
  • ERROR: No containers to restartdocker-compose -f prod.yml restart的输出

有什么方法可以解决这个问题或其他方法来实现我的目标吗?

您可以尝试重定向stderr输出。例如:re=$(docker-compose -f prod.yml restart 2>&1)

相关内容

  • 没有找到相关文章

最新更新