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

use*_*768 3 bash auto-completion 18.04

我编写了一些软件,其中包含它自己的 Bash 完成脚本。当我手动获取它时,这个脚本工作正常,但我试图找出如何最好地安装在 Ubuntu 18.04 上。

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

jar*_*rno 6

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