我想在注销 / 登录时重置 shell,从头开始重新加载别名、函数。
但不要谈论source ~/.bashrc也不. ~/.bashrc!
为什么 ?因为source或者.只是用新的函数、别名等等来丰富当前的 shell。
仅供参考,您可以将此功能放在您的 bashrc 中:
function foo {
echo "foo";
}
然后做source ~/.bashrcor . ~/.bashrc。是的,foo正在工作。然后现在,编辑您的,并将foo.bashrc替换为bar,以获得:
function bar {
echo "bar";
}
您现在可以键入 foo,并看到函数 foo 仍在工作,尽管文件中不再存在它.bashrc。这就是我想说明的一点。
我exec bash;试过了,但它没有加载.bashrc文件。而且exec bash;source ~/.bashrc;显然不起作用,因为exec杀死当前进程(source从不调用)。