bash 自动补全在每个窗口上重置

bash 自动补全在每个窗口上重置

当我使用 root 时,我的终端自动完成功能无法正常工作。

source /etc/bash_completion如果我手动调用它就可以了。

我需要在每个新的根终端中编写上述代码才能使用自动完成功能。

答案1

在这种情况下,您需要将其添加到~/.bashrc,而不是 bash_profile...但您只想将其应用于交互式 shell,以避免在运行脚本时花费时间:

case $- in
  *i*) # interactive shell
    source /etc/bash_completion;;
esac

您可能需要添加 to/root/.bashrc才能以 root 身份运行...但是为什么要以 root 身份运行 shell,而不是使用 sudo 来执行单个命令?

答案2

把这一行放到~/.bash_profile

. /etc/bash_completion

相关内容