【发布时间】:2023-03-06 14:22:01
【问题描述】:
假设我有两个 bash 函数:
dock() { sudo docker $@ ;}
和
dock-ip() { sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' $@ ;}
如何使用 第二个函数 让 bash 自动完成?
使用第一个,就像添加一样简单:
_completion_loader docker; complete -F _docker dock
这不适用于第二个。 Docker 的自动完成源代码位于 Debian Stretch 上的 /usr/share/bash-completion/completions/docker。我有更多函数,如dock-run、dock-exec 等,所以我不想为每个函数编写自定义完成函数。
另外,complete -F _docker_container_inspect dock-ip 仅部分有效; tab 只列出容器,不完成部分字符串。
研究:
How do I autocomplete nested, multi-level subcommands?
https://superuser.com/questions/436314/how-can-i-get-bash-to-perform-tab-completion-for-my-aliases
【问题讨论】:
标签: bash docker autocomplete alias