使用Python为.bashrc生成导出

使用Python为.bashrc生成导出,python,bash,path,environment-variables,Python,Bash,Path,Environment Variables,当我手动构建和安装项目时,它们会安装到$HOME/.prefix/ 将每个项目放在自己的文件夹中可以使以后更容易删除。现在我必须手动将每个项目添加到路径、LD\u LIBRARY\u路径、LIBRARY\u路径、C\u INCLUDE和CPLUS\u INCLUDE。我希望使用Python自动执行此操作,但我遇到了一些问题。如果我使用Python的os.environ,那么这些设置就不会持久。我还尝试将单个命令输出到stdout,该命令由.bashrc运行,如下所示:$(python scan.

当我手动构建和安装项目时,它们会安装到
$HOME/.prefix/

将每个项目放在自己的文件夹中可以使以后更容易删除。现在我必须手动将每个项目添加到
路径、LD\u LIBRARY\u路径、LIBRARY\u路径、C\u INCLUDE和CPLUS\u INCLUDE
。我希望使用Python自动执行此操作,但我遇到了一些问题。如果我使用Python的
os.environ
,那么这些设置就不会持久。我还尝试将单个命令输出到
stdout
,该命令由
.bashrc
运行,如下所示:
$(python scan.py)
。此操作失败,以下为示例:


重新加载my
.bashrc
后,我的
路径
变量实际上是:
$HOME/.prefix/clang/bin:$PATH
。问题是最后一个
$PATH
,它应该被扩展,以包括前面包含的所有
PATH

听起来python脚本输出的字符串中包含$HOME和$PATH。bash没有扩展这些变量,因为它们实际上不在bash脚本中

  • 您可以编写python脚本来获取HOME和PATH环境变量,只获取输出路径,而不需要shell来扩展它们

  • 您可以将它们作为命令行参数传递给脚本

  • 您可以在bash中
    eval
    输出,但是
    eval
    不一定是一个好习惯


我们需要查看您的代码