最近升级到 12.04 后,/etc/bash.bashrc 中的自动制表符补全功能已禁用。我取消了以下几行的注释:
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
我尝试运行source /etc/bash.bashrc
,. /etc/bash.bashrc
但都没有重新加载配置。他们只是给了我错误-sh: 1: source: not found
。输入似乎bash
确实有效并启用了自动制表符完成。然而,在退出服务器然后重新登录后,我发现自动制表符完成不再起作用,让它工作的唯一方法是再次输入bash
。
有人知道我需要做什么才能使这个改变永久生效吗?
编辑:
我刚刚意识到,当我最初通过 ssh 进入服务器时,它只是显示$
。运行bash
命令后,它又显示username@machinename$
。不确定这是否与我的问题有关...
答案1
source
不是可执行命令,而是 bash 内置命令。看来您的登录 shell 不是 bash(可能是sh
)。
你可以用以下方法改变你的 shell
chsh
进入/bin/bash
那里。之后你应该就可以使用了source
。