wil*_*fer 13 bash docker docker-machine
我正在使用docker-machine管理我的云服务器.我正在编写一些bash脚本来自动执行某些任务.问题是:"如果已存在具有特定名称的docker机器,如何检入bash脚本?".我需要一些表达式,如果它存在则返回true,否则返回false.
谢谢
Adr*_*uat 14
如果正则表达式足够好,只需通过grep运行它.例如,如果你有一台名为foo的机器:
$ docker-machine ls -q | grep '^foo$'
Run Code Online (Sandbox Code Playgroud)
应该工作并返回0.插入符号匹配行的开头,空格避免部分匹配.如果它不匹配,您将获得非零返回码.
您可以使用以下内容:
docker-machine status some-machine 2> /dev/null || echo "Machine does not exists"
Run Code Online (Sandbox Code Playgroud)
不是脚本专家,但我会执行“ docker-machine help”,如果此命令运行并且退出代码($?)为零,则 docker-machine 可执行文件可用且正在运行。如果返回码是 127(通常是 bash 因找不到命令而返回)或任何非零值,则可以假设 docker-machine 未安装或未正常运行。