代码之家  ›  专栏  ›  技术社区  ›  Z fp

如何在bash中为docker compose restart命令的输出设置变量?

  •  0
  • Z fp  · 技术社区  · 6 年前

    我写了一个猛击壳给detemine docker-compose up docker-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
    

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

    ERROR: No containers to restart
    re:
    
    • ERROR: No containers to restart docker-compose -f prod.yml restart

    有没有办法解决这个问题,或者有别的办法来实现我的目标?

    1 回复  |  直到 6 年前
        1
  •  1
  •   aauutthh    6 年前

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