私のプログラムが「HISTFILE」環境変数にアクセスしようとすると、その変数は存在しません。
$ echo $HISTFILE
/Users/drewgross/.bash_history
$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['HISTFILE']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'HISTFILE'
しかし、自分で設定すると、次のようになります。
$ HISTFILE=wat python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['HISTFILE']
'wat'
何らかの理由で隠されているようです。なぜそんなことですか?私のプログラムでこの変数にアクセスする方法はありますか?
答え1
あなたは入力する必要があります履歴ファイルのエクスポートコマンドラインからPythonインタプリタを起動する前またはPythonスクリプトを実行する前に履歴ファイルのエクスポートログイン時に自動的にエクスポートするには、.bashrcファイルに保存してください。