如何在 bash 中为 docker compose V2 添加自动完成功能

Yue*_*JIN 7 bash docker docker-compose

根据这个博客我已经尝试过

curl https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
Run Code Online (Sandbox Code Playgroud)

docker compose -f <tab>会成为

docker compose -f y
yml   yaml
Run Code Online (Sandbox Code Playgroud)

而不是从文件系统给出建议。

文档仅提供旧版本的指南docker-composehttps ://docker-docs.netlify.app/compose/completion/

小智 -2

1-确保已安装 bash 补全。如果您在非最小化安装中使用当前的 Linux,则 bash 补全应该可用

2-将完成脚本放入 /etc/bash_completion.d/ 并运行此脚本:

curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

3-重新登录

  • 这与OP显示的他们已经在做的事情有什么本质上的不同?(“实质上不同”的意思是,如果创建一个 `/etc/bash-completion.d` 文件在使用 `curl` 使用指定输出文件名的 `-o` 参数执行时不起作用,为什么会这样认为完成重定向后现在可以工作吗?) (3认同)