如何从git for windows获取mintty-bash的docker'对象'完成

fer*_*ega 6 shell git-bash mintty docker

我已阅读(并尝试过):https: //docs.docker.com/machine/completion/

但似乎这不是正确的方法.

有人知道如何在Mintty(来自Git for windows)bash命令行中获取docker completion命令吗?

nav*_*soc 9

不确定这是否是最好的方法,或者它是否正常工作,但它似乎工作!如果您发现任何奇怪的行为,请告诉我......

最低要求:

  • Git for Windows(git bash/mintty terminal)
  • 7-Zip或类似提取文件

安装:

首先,您需要bash-completion包.

我发现为cygwin构建的包工作正常.

  1. 选择一个cygwin镜像:https://cygwin.com/mirrors.html
  2. 导航到:/ cygwin/noarch/release/bash-completion /
  3. 下载:bash-completion-2.7-1.tar.xz
  4. 在其他地方提取它
  5. 复制etcusr文件夹C:\Program Files\Git(参见下面的注释)

完成,现在您应该启用命令完成.


测试:

您可以通过打开git bash终端并键入以下内容来测试它:

curl --ver (点按两次标签)

它会建议这样的事情:

$ curl --ver
--verbose  --version
Run Code Online (Sandbox Code Playgroud)

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-machine

没有额外的.txt或其他......

docker命令完成


一些说明:

我不确定该软件包bash-completion-2.7.1是否是使用git bash的最佳版本,我只是得到了最新版本.(你可以比较它们并找到它)

您不需要复制所有文件/usr/share/bash-completion/completions/,只需要复制所需的文件.(我没有复制其中任何一个).

它的运行是一个好主意docker version,docker-compose version,docker-machine version并检查正在运行的版本,然后从库下载正确的文件.(为您选择正确的发布标签).