关于Ubuntu:如何检查docker是否安装在unix shell脚本中?

How to check if Docker is installed in a Unix shell script?

本问题已经有最佳答案,请猛点这里访问。

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

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

1
2
3
4
5
6
7
if [[ which docker && docker --version ]]; then
  echo"Update docker"
  # command
else
  echo"Install docker"
  # command
fi

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


使用里克登汉评论中答案的建议:

1
2
3
4
5
6
7
if [ -x"$(command -v docker)" ]; then
    echo"Update docker"
    # command
else
    echo"Install docker"
    # command
fi


这个对我有用:

1
2
3
4
5
6
7
if [[ $(which docker) && $(docker --version) ]]; then
    echo"Update docker"
    # command
  else
    echo"Install docker"
    # command
fi