如何从git for windows获得docker'objects'在mintty-bash上的完成

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

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

任何人都知道如何在Mintty(从Git for windows)bash命令行中获得docker完成命令?

不知道这是否是这样做的最好方法,或者如果它正常工作,但它似乎工作! 让我知道如果你发现任何奇怪的行为…

最低要求:

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

安装:

首先,你将需要bash完成包。

我发现为cygwin构build的软件包起作用。

  1. select一个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请参阅下面的注释

完成了,现在你应该启用命令完成。


testing:

你可以通过打开一个git bashterminal并input:

curl --ver (撞击标签两次)

这将表明这样的事情:

 $ curl --ver --verbose --version 

Docker命令:

现在,关于这个docker指令

我在这里find了我的文件:

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或其他…

码头命令完成


一些说明:

我不确定包bash-completion-2.7.1是否是使用git bash的最佳版本,我刚刚得到了最新版本。 (你可以比较他们,找出来)

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

运行docker versiondocker-compose versiondocker-machine version并检查正在运行的版本是一个好主意,然后从存储库下载正确的文件。 (为您select正确的版本标签)。