使用Python为.bashrc生成导出

时间:2014-08-02 23:24:40

标签: python bash path environment-variables

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

将每个项目放在自己的文件夹中,以便以后删除。现在我必须手动将每个项目添加到PATH, LD_LIBRARY_PATH, LIBRARY_PATH, C_INCLUDE, and CPLUS_INCLUDE。我想使用Python自动执行此操作,但我遇到了问题。如果我使用Python的os.environ,则设置不会持久存在。我还尝试将单个命令输出到stdout .bashrc,由$(python scan.py)运行,如下所示:.bashrc。这失败了,以下为例:

重新加载PATH后,我的$HOME/.prefix/clang/bin:$PATH变量字面意思为:$PATH。问题是最后PATH,它应该已经扩展到包含{{1}}之前包含的所有内容。

1 个答案:

答案 0 :(得分:0)

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

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

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

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