我想重置shell,因为我从头开始注册/登录,重新加载别名,函数.
但是不要谈论source ~/.bashrc也不. ~/.bashrc!
为什么?因为source或.只是丰富了当前的shell,使用了新的函数,别名等等.
仅供参考,你可以把这个功能放在你的bashrc中:
function foo {
echo "foo";
}
Run Code Online (Sandbox Code Playgroud)
然后做source ~/.bashrc或. ~/.bashrc.是的,foo正在工作.那么现在,edityour .bashrc,并更换FOO的酒吧,有:
function bar {
echo "bar";
}
Run Code Online (Sandbox Code Playgroud)
您现在可以键入foo,并看到函数foo仍在工作,尽管它在.bashrc文件中不再存在.这就是我想表达的观点.
我exec bash;试过了,但它没有加载.bashrc文件.并且exec bash;source ~/.bashrc;显然不起作用,因为exec杀死当前进程(source从未被调用).
作为OP的愿望
bash --login
Run Code Online (Sandbox Code Playgroud)
注意:如果你在终端(xterm或类似)中运行bash,你还需要为-ls终端提供参数(或等效的).(例如xterm -ls)