我编写了一系列生成新bash会话的python工具。我希望那些单独的子shell继承父级的命令历史。我试过了:
shopt -s histappend
PROMPT_COMMAND="history -an;$PROMPT_COMMAND"
.bash_profile
中的。但它没有给我我需要的东西。我已经看到了这一点。我的工具使用:
os.system('bash')
生成子进程。
思考?更好的方法?
答案 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。直接