如何检查 Docker 是不是安装在 Unix shell 脚本中? [复制]
Posted
技术标签:
【中文标题】如何检查 Docker 是不是安装在 Unix shell 脚本中? [复制]【英文标题】: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
【问题讨论】:
【参考方案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
以查看所有标志及其描述。以上是关于如何检查 Docker 是不是安装在 Unix shell 脚本中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在unix脚本中提取文件名的一部分并检查它是不是存在[重复]
如何检查 docker 引擎和 docker 容器是不是正在运行?