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

标签 shell docker git-bash mintty

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

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

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

最佳答案

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

最低要求:

  • Windows 版 Git(git bash/mintty 终端)
  • 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

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 或其他任何内容...

docker commands with completion


一些注意事项:

我不确定包 bash-completion-2.7.1 是否是与 git bash 配合使用的最佳版本,我刚刚获得了最新版本。 (大家可以对比一下就知道了)

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

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

关于shell - 如何从 git for windows 在 mintty-bash 上完成 docker 'objects',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169986/

相关文章:

git - 如何更改 git bash 以左对齐

algorithm - KornShell (ksh) 调度算法 (SRT)

azure - 远程客户端无法连接到在 Azure VM 中运行的 redisai docker 容器

shell - 使用HBase Shell进行与列族TTL不同的Put

Dockerfile - 用于切换主目录的 Docker 指令

docker - SES:无法在点网核心docker上发送电子邮件

git - Windows 10 的 Git 客户端是否自动安装 SSH 客户端?

windows - 如何在 Windows git bash shell 中访问此环境变量

linux - sh shell 下的数组(不是 bash)

bash - 从日志文件中雕刻数据