Bash 如何以编程方式检查docker机器是否存在?
我正在使用Bash 如何以编程方式检查docker机器是否存在?,bash,docker,docker-machine,Bash,Docker,Docker Machine,我正在使用docker machine管理我的云服务器。我正在编写一些bash脚本来自动化一些任务。问题是:“如果具有特定名称的docker机器已经存在,如何签入bash脚本?”。我需要一些表达式来返回true(如果它存在)和false(如果它不存在) 谢谢你,我不是一个脚本专家,但是我会做一个“docker machine help”,如果这个命令运行并且退出代码($?)为零,docker machine可执行文件就可以使用并运行了。 如果返回代码为127(通常由bash返回,用于找不到命令)
docker machine
管理我的云服务器。我正在编写一些bash脚本来自动化一些任务。问题是:“如果具有特定名称的docker机器已经存在,如何签入bash脚本?”。我需要一些表达式来返回true(如果它存在)和false(如果它不存在)
谢谢你,我不是一个脚本专家,但是我会做一个“
docker machine help
”,如果这个命令运行并且退出代码($?)为零,docker machine可执行文件就可以使用并运行了。
如果返回代码为127(通常由bash返回,用于找不到命令)或非零,则可以假定docker计算机未安装或运行不正常。只要通过grep运行它,如果regexp对您来说足够好。例如,如果您有一台名为foo的机器:
$ docker-machine ls -q | grep '^foo$'
应该工作并返回0。插入符号与行首匹配,空格避免部分匹配。如果不匹配,您将得到一个非零返回码。您可以使用类似以下内容:
docker-machine status some-machine 2> /dev/null || echo "Machine does not exists"
查看
哪台docker机器的输出,并检查该文件是否存在?应该有更好的办法way@ChandanNayak谢谢你的更正,是的,我是说$?。更新了答案。10倍!这正是我要问的我发现这个解决方案非常干净。