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

时间:2017-04-02 15:17:01

标签: shell docker git-bash mintty

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

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

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

1 个答案:

答案 0 :(得分:8)

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

最低要求:

  • 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请参阅下面的注释
  6. 完成,现在你应该启用命令完成。

    测试:

    您可以打开一个git bash终端并输入:

    来测试它

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

    它会建议这样的事情:

    $ curl --ver
    --verbose  --version
    

    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 commands with completion

    一些注意事项:

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

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

    最好运行docker versiondocker-compose versiondocker-machine version并检查您运行的版本,然后从存储库下载正确的文件。 (为您选择正确的发布标签)。