为父 shell 重新加载 .bashrc 文件

nob*_*be4 2 source shell-script bashrc

我正在创建一个脚本来管理我的点文件,我想~/.bashrc为当前的 bash 自动获取我的文件。

但我发现在我的脚本中写:

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

它将仅为脚本的执行提供 .bashrc 文件。由于我的 shell 已经启动,它不会重新加载配置。

你有在脚本调用者 bash 中重新加载文件的解决方案吗?

(如果您认为我没有使用正确的术语,请纠正我)

vin*_*c17 6

在脚本结束时,您可以执行以下操作:

kill -USR1 $PPID
Run Code Online (Sandbox Code Playgroud)

以便它将USR1信号发送到父进程,它是您运行脚本的 bash shell。在您的 中.bashrc,您可以捕获此USR1信号以执行您喜欢的任何操作,例如

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