运行 .bashrc 与新登录

Rad*_*dek 7 linux bashrc

我在 .bashrc 中添加了新别名

运行 .bashrc 不会创建该别名,但新登录是。

你能解释一下为什么会这样,我如何测试新的 .bashrc 是否可以在不进行测试登录的情况下工作?

hot*_*tei 10

“exec bash”应该这样做。基本上只是重新启动 bash shell,在此过程中读取 .bashrc。

  • 当您“执行 bash”时,它会用新的 shell 替换旧的 shell。“man exec” 了解有关其工作原理的所有详细信息。如果您的 root 帐户运行 sh 但您更喜欢 bash 某些事情(在我的情况下是提示中的 cwd),这也很有用。您可以以 root 身份通过“exec bash”使 root 运行 bash。 (3认同)
  • 当您单独执行“.bashrc”时,它会启动一个新的 bash shell(读取您的新别名),但保持旧的处于活动状态。然后它“什么都不做”,因为您没有要求它做任何事情,然后退出回到旧 shell,恢复所有旧别名。 (2认同)

Den*_*son 8

您可以使用.或获取文件source

. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

或者

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

这将在当前会话中重新读取并执行文件中的行。