当我手动构建和安装项目时,它们会安装到$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}}之前包含的所有内容。
答案 0 :(得分:0)
听起来你的python脚本正在输出一个包含$ HOME和$ PATH的字符串。 bash没有扩展这些变量,因为它们实际上并不在你的bash脚本中。
您可以编写python脚本来获取HOME和PATH环境变量以及输出路径,而不是期望shell扩展它们
您可以将它们作为命令行参数传递给您的脚本
你可以 eval
bash中的输出,但eval
不一定是一个很好的习惯