【问题标题】:How to check if Docker is installed in a Unix shell script? [duplicate]如何检查 Docker 是否安装在 Unix shell 脚本中? [复制]
【发布时间】:2018-03-16 10:53:21
【问题描述】:

如果安装了 Docker(Ubuntu 服务器),我需要签入一个 shell 脚本。

我想出了这个,但语法不正确。

if [[ which docker && docker --version ]]; then
  echo "Update docker"
  # command
else
  echo "Install docker"
  # command
fi

我也试过if [ which docker ] && [ docker --version ]; then

【问题讨论】:

    标签: shell ubuntu docker


    【解决方案1】:

    这个对我有用:

    if [[ $(which docker) && $(docker --version) ]]; then
        echo "Update docker"
        # command
      else
        echo "Install docker"
        # command
    fi
    

    【讨论】:

      【解决方案2】:

      使用 rickdenhaan 评论中答案的建议:

      if [ -x "$(command -v docker)" ]; then
          echo "Update docker"
          # command
      else
          echo "Install docker"
          # command
      fi
      

      【讨论】:

      • -x 是做什么的?对我来说if command -v docker; then 正在工作。
      • 它测试文件是否存在并且是否可执行。 command 命令返回 docker 命令的位置,然后-x 标志测试它在那里并且能够执行。
      • 括号是test 命令的别名。运行 man test 以查看所有标志及其描述。
      猜你喜欢
      • 1970-01-01
      • 2014-03-30
      • 2011-11-23
      • 2019-12-18
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      • 2017-12-24
      • 2012-11-14
      相关资源
      最近更新 更多