我编写了一些包含它自己的 Bash 完成脚本的软件。当我手动获取该脚本时,该脚本运行良好,但我试图弄清楚如何最好地在 Ubuntu 18.04 上安装。
/usr/share/bash-completion/completions 中有很多其他的完成脚本,这让我认为这就是答案,但是在那里安装我的完成脚本没有任何效果。那个位置在某种程度上是红鲱鱼吗?或者除了把它放在那里之外,我还需要做些什么来注册脚本吗?
我编写了一些包含它自己的 Bash 完成脚本的软件。当我手动获取该脚本时,该脚本运行良好,但我试图弄清楚如何最好地在 Ubuntu 18.04 上安装。
/usr/share/bash-completion/completions 中有很多其他的完成脚本,这让我认为这就是答案,但是在那里安装我的完成脚本没有任何效果。那个位置在某种程度上是红鲱鱼吗?或者除了把它放在那里之外,我还需要做些什么来注册脚本吗?
您可以将完成放在主目录下的扩展值中
${BASH_COMPLETION_USER_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion}/completions
或作为
bash-completion/completions
扩展值中任何逗号分隔目录下的子目录中的超级用户${XDG_DATA_DIRS:-/usr/local/share:/usr/share}
完成文件必须与命令命名相同,或者可以以 . 为前缀
_
或后缀.bash
。您可以
type __load_completion
在 bash 中运行以列出加载完成的函数以获取详细信息。您必须重新启动 shell,例如通过运行
exec bash
以使更改在该 shell 中生效。另一个信息来源是https://github.com/scop/bash-completion#faq
您是否尝试过将该文件复制(覆盖)到
/usr/share/bash-completion/bash_completion
您的系统上?确保备份原始bash_completion
文件。然后重新启动(或者可能只是注销并重新登录?)你应该很高兴。
请参阅此问题的答案。