如何在调用脚本的 shell 中重新加载 .bashrc

如何在调用脚本的 shell 中重新加载 .bashrc

如何强制调用脚本的 shell 从.bashrc脚本内部重新加载?

我正在尝试编写一个“新盒子”脚本,按照我喜欢的方式设置所有内容。除了重新加载之外,一切都正常.bashrc

我知道我可以“只”做. ~/.bashrcexec bash任何其他方式来应用更改运行脚本。但这有点违背了一键修复的目的,而且走到这一步却在最后一步被搞砸了,这让我很抓狂哈哈


我尝试将所有source ~./bashrc exec bash内容添加到脚本中,但没有任何效果,因为它只是为脚本的环境重新加载,而不是为调用 shell

我还很新手,所以这可能是非常明显的事情,这可以解释为什么我无法通过 googlefu 找到答案>.<

任何帮助将非常感激。

答案1

这可能不适用于所有情况。也可能做了一些我不应该做的事情……但就我的目的而言,它完成了工作。

因为script.sh如果我通过. script.sh 而不是来调用它bash script.sh,一切似乎都会运行并相应地更新。

耶!

答案2

我知道这听起来很傻,我也是新手,但是如果您直接从脚本中导出所需的环境,然后将它们添加到 .bashrc 以供以后使用,该怎么办?

假设检查环境变量是否存在并加载它:

### MySQL
if [ -z "$MYSQL_HOME" ]; then
    export MYSQL_HOME="/usr/local/mysql"
    export PATH="$MYSQL_HOME/bin:$PATH"
fi

然后将这段代码复制到.bashrc...

编辑

我偶然发现了这一点 更新脚本的 ~/.bashrc 文件

相关内容