/etc/bash.bashrc 的更改不是永久性的

/etc/bash.bashrc 的更改不是永久性的

最近升级到 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

相关内容