Unix Subshell继承了父bash的命令历史



我写了一系列 python 工具来生成新的 bash 会话。 我希望这些单独的子壳继承父级的命令历史记录。 我试过:

shopt -s histappend
PROMPT_COMMAND="history -an;$PROMPT_COMMAND"

.bash_profile. 但它并没有给我我需要的东西。 我已经看到这样做了。 我的工具使用:

os.system('bash')

以生成子进程。

想法?更好的方法?

site.py 在

启动时设置 os.environ。 除非您明确更改 os.environ,否则这不会更改。 因此,对os.system('/bin/bash'(的调用应该有一个与python启动相同的环境。

启动后立即检查 os.environ,如有必要,请对 os.environ 进行更改。 径直。

Python 文档操作系统

根据您的操作系统,.bash_profile只能由登录 shell 执行,而.bashrc则由非登录 shell 执行。

所以试着把

shopt -s histappend
PROMPT_COMMAND="history -a; history -n"

.bashrc而不是.bash_profile.

最新更新