gpt4 book ai didi

带有 os.system() 的 Python 'source HOME/.bashrc'

转载 作者:太空狗 更新时间:2023-10-29 20:57:09 26 4
gpt4 key购买 nike

我正在编写一个 python 脚本 (Linux),它添加了一些 shell aliases (将它们写入 HOME/.bash_aliases)。

为了使别名在编写后立即可用,我应该发出以下内置 bash:

source HOME/.bashrc

source 是内置的 bash,所以我不能只:

os.system(source HOME/.bashrc)

如果我尝试这样的事情:

os.system('/bin/bash -c source HOME/.bashrc')

...将卡住脚本(就像在等待什么)。

有什么建议吗?

最佳答案

你想要的是不可能的。程序(您的脚本)不能修改调用者的环境(您从中运行它的 shell)。

另一种允许您做一些接近的事情的方法是根据 bash 函数编写它,它在同一进程中运行并且可以修改调用者。请注意,根据用户在其 bashrc 中的内容,运行时采购可能会产生负面影响。

关于带有 os.system() 的 Python 'source HOME/.bashrc',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3661566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com