我应该如何安装自己的 bash 完成脚本?

我应该如何安装自己的 bash 完成脚本?

我编写了一些包含自己的 Bash 完成脚本的软件。当我source手动执行此脚本时,它运行良好,但我正在尝试找出在 Ubuntu 18.04 上安装的最佳方法。

中有很多其他完成脚本/usr/share/bash-completion/completions,这让我认为这就是答案,但在那里安装我的完成脚本没有任何效果。那个位置是不是有点误导?或者除了将脚本放在那里之外,我还需要做些什么来注册脚本?

答案1

您可以将完成的内容放在主目录下的扩展值中 ${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

答案2

您是否尝试过将该文件复制(覆盖)到/usr/share/bash-completion/bash_completion您的系统上?请确保备份您的原始bash_completion文件。

然后重新启动(或者可能只是注销并重新登录?)就可以了。

查看答案这个问题

相关内容