为 bash 安装额外的补全功能

为 bash 安装额外的补全功能

我从未使用过 bash 完成 todo.txt cli;不过,我决定尝试一下。在作者的github上,写道:

(Optional, since v 2.9:) Install the Bash completion, either system-wide, for all users:

      $ sudo cp todo_completion /etc/bash_completion.d/todo
or 

      put it somewhere in your home directory and source it from your .bashrc:

现在,在 bash 完成的安装文档中,它说:

The easiest way to install this software is to use a package; it is available
in many operating system distributions.  The package's name is usually
bash-completion.  Depending on the package, you may still need to source it
from either /etc/bashrc or ~/.bashrc (or any other file sourcing those). You
can do this by simply using:

# Use bash-completion, if available
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
    . /usr/share/bash-completion/bash_completion

所以根据我的理解,这可能是错误的,我应该把

# Use bash-completion, if available
    [[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
        . /usr/share/bash-completion/bash_completion

在我的~/.bashrc。现在我应该投入todo-completion/usr/share/bash-completion/bash-completion?如果是的话,我只有,/usr/share/bash-completion但还有completion一个级别以下bash-completion

老实说,我的这个思维过程可能是完全错误的。我已经进行了大量的搜索todobash-completion但没有什么是太有希望的。那么,如果这一切都不正确,我该如何将两者设置在一起呢?

答案1

如果您将文件添加到其中,则/usr/share/bash-completion/下次更新软件包时,pacman 会覆盖该文件。

为了防止这种情况发生,请使用~/.bash_completion来自主完成脚本末尾的 。从常见问题解答:

问:如何插入我自己的本地完成内容,而不必在每次发布新版本时重新插入它们?

A. 将它们放在 ~/.bash_completion 中,该文件在主完成脚本的末尾进行解析。另请参阅下一个问题。

或者,为了在 Arch 上进行系统范围的访问,您可以将文件放在/etc/bash_completion.d/.

相关内容