我已经阅读(并尝试过)这个: https://docs.docker.com/machine/completion/
但这似乎不是正确的方法。
有人知道如何在 Mintty(来自 Git for windows)bash 命令行中获取 docker 完成命令吗?
最佳答案
不确定这是否是最好的方法,或者它是否可以正常工作,但它似乎有效! 如果您发现任何奇怪的行为,请告诉我...
最低要求:
- Windows 版 Git(git bash/mintty 终端)
- 7-Zip 或类似的解压文件
安装:
首先,您需要 bash-completion 包。
我发现为 cygwin 构建的包可以工作。
- 选择 cygwin 镜像:https://cygwin.com/mirrors.html
- 导航到:/cygwin/noarch/release/bash-completion/
- 下载:bash-completion-2.7-1.tar.xz
- 在别处解压
- 将
etc
和usr
文件夹复制到C:\Program Files\Git
(请参阅下面的注释 )
完成,现在您应该启用命令完成功能。
测试:
你可以通过打开一个 git bash 终端并输入来测试它:
curl --ver
(点击两次)
它会建议这样的事情:
$ curl --ver
--verbose --version
Docker 命令:
现在,关于 docker 命令...
我在这里找到了我的文件:
docker
命令:
https://github.com/docker/docker-ce/blob/v17.09.0-ce/components/cli/contrib/completion/bash/docker
docker-compose
命令:
https://github.com/docker/compose/blob/1.16.1/contrib/completion/bash/docker-compose
docker-machine
命令:
https://github.com/docker/machine/blob/v0.12.2/contrib/completion/bash/docker-machine.bash
只需下载并将它们复制到:
C:\Program Files\Git\usr\share\bash-completion\completions\
确保它们的名称正确(如果有,请删除文件扩展名)。
应该这样命名:
docker
docker-compose
docker 机器
没有额外的 .txt 或其他任何内容...
一些注意事项:
我不确定包 bash-completion-2.7.1
是否是与 git bash 配合使用的最佳版本,我刚刚获得了最新版本。 (大家可以对比一下就知道了)
您不需要从 /usr/share/bash-completion/completions/
复制所有文件,只需复制您想要的文件即可。 (我没有复制其中任何一个)。
最好运行 docker version
、docker-compose version
、docker-machine version
并检查您正在运行的版本,然后从存储库下载正确的文件。 (为您选择正确的发布标签)。
关于shell - 如何从 git for windows 在 mintty-bash 上完成 docker 'objects',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169986/