gpt4 book ai didi

bash - 完全重置/重新加载 bash(别名和函数)

转载 作者:行者123 更新时间:2023-11-29 09:09:43 27 4
gpt4 key购买 nike

我想重置 shell,在注销/登录时,从头开始重新加载别名、函数。

但不要谈论source ~/.bashrc。 ~/.bashrc !

为什么?因为 source. 只是用新函数、别名等丰富了当前的 shell。


仅供引用,您可以将此函数放在您的 bashrc 中:

function foo {
echo "foo";
}

然后执行source ~/.bashrc。 ~/.bashrc。是的,foo 正在工作。然后现在,编辑您的 .bashrc,并将 foo 替换为 bar,以获得:

function bar {
echo "bar";
}

您现在可以键入 foo,并看到函数 foo 仍在工作,尽管它不再存在于 .bashrc 文件中。这就是我想展示的重点。


我尝试了 exec bash;,但它没有加载 .bashrc 文件。而 exec bash;source ~/.bashrc; 显然是行不通的,因为 exec 会杀死当前进程(source 永远不会被调用)。

最佳答案

如OP所愿

bash --login 

注意:如果您在终端(xterm 或类似工具)内运行 bash,您还需要向终端提供 -ls 参数(或等效参数)。 (例如 xterm -ls )

关于bash - 完全重置/重新加载 bash(别名和函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15222328/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com