我正在编写一个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
}
printf "Starting Docker for Mac";
这一行卡住了,直到我手动打开 Docker。 - Richard Hpa