Unix Subshel​​l从父bash继承命令历史记录

时间:2013-06-10 18:00:30

标签: python bash unix history subshell

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

shopt -s histappend
PROMPT_COMMAND="history -an;$PROMPT_COMMAND"
.bash_profile中的

。但它没有给我我需要的东西。我已经看到了这一点。我的工具使用:

os.system('bash')

生成子进程。

思考?更好的方法?

2 个答案:

答案 0 :(得分:0)

Depending on your OS.bash_profile只能由登录shell执行,而.bashrc则针对非登录shell执行。

所以试试

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

.bashrc而不是.bash_profile

答案 1 :(得分:0)

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

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

python docs os