首页 > 解决方案 > 从 bash 脚本在父 shell 上运行源命令

问题描述

我有一个 bash 脚本,我在其中对 .bashrc 进行了一些更改。然后我想从我的脚本运行 bashrc 所以我一直在运行

源〜/ .bashrc

以避免重新加载我的外壳。我一直看到的问题是它仅在运行的子shell bash 中设置。

我可以从我的脚本中执行任何操作,以便在父 shell 中运行源命令吗?

标签: bash

解决方案


如果您真的想这样做,您可以做什么: 提供一个 shell 函数来检查 .bashrc 是否已被修改,如果是,请获取此文件。让#s 调用这个函数check_reload。然后定义你PS1

PS1='$(check_reload) .....'

使用此设置,您的 .bashrc 将在您获得新命令行之前重新加载。

虽然这应该可以解决您的问题,但我个人不会这样做:我认为信息是.bashrc相当静态的,我不会使用脚本来修改它,而是使用文本编辑器手动进行。但是当然每个人都可以随心所欲地做这件事......


推荐阅读