【问题标题】:Using Python to generate exports for .bashrc使用 Python 为 .bashrc 生成导出
【发布时间】:2014-09-25 20:08:49
【问题描述】:

当我手动构建和安装项目时,它们会安装到 $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之前包含的所有内容。

【问题讨论】:

  • 我们需要查看您的代码

标签: python bash path environment-variables


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 2023-03-08
    相关资源
    最近更新 更多