来自 bash 脚本的 source ~/.bashrc 不起作用

source ~/.bashrc from bash script does not work

我正在尝试创建一个脚本来重新加载 bashrc 一次,但它没有用。

reloader.sh

#!bin/bash
source ~/.bashrc
rm reloader.sh

您需要使用 source 到 运行 脚本:

source reloader.sh

如果您只是 运行 它作为一个命令,它将 运行 在一个新的进程中,因此 .bashrc 所做的 none 的更改将影响您的原始shell 进程。

我遇到了同样的问题。问题是只有交互式 shells 才能访问您在 .bashrc(别名等)

中定义的任何内容

要使您的 shell-脚本具有交互性,请使用带参数的 shebang:

#!/bin/bash  -i