【发布时间】:2019-06-26 18:14:54
【问题描述】:
我正在编写一个 shell 脚本,通过终端在 Mac 上安装 docker。我可以通过brew cask install docker 安装。现在它是基于 GUI 的 docker 等待用户事件继续。现在在我的 shell 脚本中,我想保持执行,直到 docker 启动并运行。我找到了一个很好的脚本来检查 docker 是否正在运行。我可以按如下方式进行检查。
#!/bin/bash
rep=$(curl -s --unix-socket /var/run/docker.sock http://ping > /dev/null)
status=$?
if [ "$status" == "7" ]; then
echo 'not connected'
exit 1
fi
echo 'connected'
exit 0
我已经尝试将它放入一个循环中,以便在状态为 0 之前它应该一次又一次地检查并保持异常。我没有编写 shell 脚本的经验,但尝试了一种运行方式,但没有成功。我怎样才能做到这一点。
我的脚本
#!/bin/bash
status=0
test() {
rep=$(curl -s --unix-socket /var/run/docker.sock http://ping > /dev/null)
status=$?
}
checkDocker() {
while [ "$status" == "7" ]
do
echo waiting docker to start
test
done
}
【问题讨论】: