Bash 完成在 root 用户中不起作用

T0M*_*FeR 13 bash auto-completion 12.04

我在 12.04 上,我正在尝试找到一种在 root 用户中启用 Bash 完成的方法。

关于如何做到这一点的任何想法?

lum*_*ric 26

本问答中所述,可以在文件 .bashrc 中启用 Bash 完成。在您的情况下,它在您用户的 .bashrc 中似乎是正确的,但在您的 root 的 .bashrc 中却不是。后一个文件位于/root/.bashrc. 使用您最喜欢的文本编辑器以 root 身份打开此文件(例如,通过运行sudo gedit /root/.bashrc)并删除#最后三行开头的 :

您必须将第98-100 行

#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi
Run Code Online (Sandbox Code Playgroud)

...到:

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi
Run Code Online (Sandbox Code Playgroud)

然后关闭您的终端并重新打开它们。