0

新しい bash セッションを生成する一連の python ツールを作成しました。これらの個々のサブシェルが親のコマンド履歴を継承することを望んでいます。私が試してみました:

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

.bash_profile。しかし、それは私に必要なものを与えてくれませんでした。私はこれが行われたのを見てきました。私のツールは以下を使用します:

os.system('bash')

サブプロセスを生成します。

考え?より良い方法?

4

2 に答える 2

0

OS によっては.bash_profileはログイン シェルでのみ実行され、.bashrcは非ログイン シェルで実行されます。

だから入れてみて

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

.bashrc代わりに.bash_profile

于 2013-06-10T18:25:09.480 に答える
0

site.py は起動時に os.environ を設定します。os.environ を明示的に変更しない限り、これは変更されません。したがって、os.system('/bin/bash') への呼び出しには、Python の起動時に取得した環境と同じ環境が必要です。

起動直後に os.environ を確認し、必要に応じて os.environ を変更します。直接。

Python ドキュメント OS

于 2013-06-10T19:59:19.793 に答える