bash - 从 bash 脚本在父 shell 上运行源命令
问题描述
我有一个 bash 脚本,我在其中对 .bashrc 进行了一些更改。然后我想从我的脚本运行 bashrc 所以我一直在运行
源〜/ .bashrc
以避免重新加载我的外壳。我一直看到的问题是它仅在运行的子shell bash 中设置。
我可以从我的脚本中执行任何操作,以便在父 shell 中运行源命令吗?
解决方案
如果您真的想这样做,您可以做什么: 提供一个 shell 函数来检查 .bashrc 是否已被修改,如果是,请获取此文件。让#s 调用这个函数check_reload
。然后定义你PS1
的
PS1='$(check_reload) .....'
使用此设置,您的 .bashrc 将在您获得新命令行之前重新加载。
虽然这应该可以解决您的问题,但我个人不会这样做:我认为信息是.bashrc
相当静态的,我不会使用脚本来修改它,而是使用文本编辑器手动进行。但是当然每个人都可以随心所欲地做这件事......
推荐阅读
- c++ - QPushButton 不遵守 QIcon 模式更改
- javascript - 括号实时预览不会加载带有 HTML 和 CSS 文件的 Javascript
- html - 如何使导航栏居中?
- c++ - 你如何在 Emacs、Ubuntu 上使用 Clang 格式?
- javascript - Javascript ES6:无法使用 ajax 更改按钮的值(其余 js 代码工作正常)
- java - Quarkus - 扩展包括 3rd 方 ContainerRequestFilter
- node.js - MongoDB .find() 等效于 SELECT 行 WHERE 字段 = 值
- python - TypeError:“NoneType”类型的对象在应用程序部署中没有 len() Python
- c# - Swashbuckle.AspNetCore (5.0.0-rc5) 忽略公共字段
- yii - SQL查询到yii 1.1参数化查询