linux - 用于验证 Linux 上 docker 安装的 Shell 脚本

标签 linux shell docker sh dockerfile

我想写一个shell脚本来验证是否安装了docker。

如果安装了docker:

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

如果没有安装docker:

$ 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

这里是为了测试目的,我在没有安装docker的机器上运行,我保持127 = 128,条件不对,所以它应该进入else,但仍然打印The program 'docker' is currently not installed .我想知道我在这里缺少什么。

最佳答案

正确的语法是:

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

为了使其更加健壮,您可能需要检查:

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

关于linux - 用于验证 Linux 上 docker 安装的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40598240/

相关文章:

docker - Kubernetes(本地Docker方法)真的有效吗?

linux - 将文件中的字符串替换为其他文件中的字符串,每个其他文件中的字符串替换一次

linux - 我对 ERROR_PROTECTION_VIOLATION 感到困惑

c# - 无法连接到任何指定的 mysql C#

linux - KornShell (ksh) 重定向

r - 使用 bash 转换数字序列

bash - 我该如何改进这个脚本?

linux - 即使在构建失败后我还能使用 Linux 内核镜像吗

docker login <dtr-server> 给出错误 404 未找到

docker - 如何让 SSL 与 .net core 和 Google Compute Engine 一起工作?