OS X El Capitan (10.11 Beta) の一見新しい機能は Bash セッション (ターミナル セッション)です。現在~/.bash_sessions
、履歴ファイルを含むディレクトリがあり、myHISTFILE
とHISTIGNORE
envars が上書きされています。この機能をすべて無効にするにはどうすればよいですか?
4 に答える
新しい Bash セッションを手動で開始すると (つまりbash -xl
)、ログイン時に何が実行されているかを確認できます。
出力に次の行が表示されます。
....
+++ '[' '!' -e /Users/username/.bash_sessions_disable ']'
ホーム ディレクトリにファイルを作成して、.bash_sessions_disable
この機能を無効にすることができます。
この動作は で定義されてい/etc/bashrc_Apple_Terminal
ます。これには、その機能とカスタマイズ方法を説明するドキュメント コメントが含まれています。
SHELL_SESSION_HISTORY=0
ここで説明するように、~/.bashrc
スクリプトで設定することにより、ターミナル セッションごとのコマンド履歴機能を無効にすることができます。
SHELL_SESSION_HISTORY を 0 に設定することにより、この動作を無効にし、単一の履歴を共有できます。各プロンプトで履歴を操作することにより、実行中のシェル間で新しいコマンドを共有するように調整する一般的なユーザー カスタマイズがいくつかあり、通常は「shopt -s histappend」が含まれます。したがって、histappend シェル オプションが有効になっている場合、セッションごとの履歴はデフォルトで無効になっています。SHELL_SESSION_HISTORY を 1 に設定することで、明示的に有効にすることができます。
を作成することでセッション状態の復元メカニズム全体を無効にできますが、セッション~/.bash_sessions_disable
ごとのコマンド履歴機能を無効にするためだけにこれを行う必要はなく、推奨されません。