2016-11-14 5 views
0

Я хочу написать сценарий оболочки, который проверяет, установлен ли докер или нет.Сценарий оболочки для проверки установки докеров на Linux

Если установлен докер:

$ docker -v 
Docker version 1.7.0, build 0baf609 
$ echo $? 
0 

Если докер не установлен:

$ docker -v 
The program 'docker' is currently not installed. You can install it by typing: 
apt-get install docker 
$ echo $? 
127 

Вот мой сценарий:

#!/bin/bash 

docker -v 
if echo $? = 128 ; then 
    echo "The program 'docker' is currently not installed." 
else 
    echo "Continuing with dockerized way" 
fi 

здесь для целей тестирования, я побежал на машина, на которой не установлен докер, я оставил 127 = 128, условие не так, поэтому оно должно идти в другом месте, но все же оно при nts В настоящее время программа docker не установлена. Я хотел бы знать, чего я здесь не вижу.

+0

Это будет только проверить, установлен ли клиент Докер. Если вы хотите убедиться, что демон также запущен, вам нужно использовать 'docker version', а не просто' -v'. – R0MANARMY

ответ

1

Правильный синтаксис:

if [ $? -eq 128 ]; then 
... 

Чтобы сделать его еще более надежным, вы можете проверить:

if [ $? -ne 0 ]; then 
... 
+0

Спасибо! Это сработало. –

Смежные вопросы