12

I need to check in a shell script if Docker is installed (Ubuntu server).

I came up with this, but the syntax is not correct.

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

I also tried if [ which docker ] && [ docker --version ]; then

halfer
  • 19,471
  • 17
  • 87
  • 173
user3142695
  • 13,907
  • 34
  • 141
  • 281

2 Answers2

25

Using suggestions from the answer in rickdenhaan's comment:

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

This one is working for me:

if [[ $(which docker) && $(docker --version) ]]; then
    echo "Update docker"
    # command
  else
    echo "Install docker"
    # command
fi
ipeacocks
  • 2,011
  • 2
  • 30
  • 45