42

OS X El Capitan (10.11 Beta) の一見新しい機能は Bash セッション (ターミナル セッション)です。現在~/.bash_sessions、履歴ファイルを含むディレクトリがあり、myHISTFILEHISTIGNOREenvars が上書きされています。この機能をすべて無効にするにはどうすればよいですか?

4

4 に答える 4

44

新しい Bash セッションを手動で開始すると (つまりbash -xl)、ログイン時に何が実行されているかを確認できます。

出力に次の行が表示されます。

....
+++ '[' '!' -e /Users/username/.bash_sessions_disable ']'

ホーム ディレクトリにファイルを作成して、.bash_sessions_disableこの機能を無効にすることができます。

于 2015-09-05T22:55:56.583 に答える
36

この動作は で定義されてい/etc/bashrc_Apple_Terminalます。これには、その機能とカスタマイズ方法を説明するドキュメント コメントが含まれています。

SHELL_SESSION_HISTORY=0ここで説明するように、~/.bashrcスクリプトで設定することにより、ターミナル セッションごとのコマンド履歴機能を無効にすることができます。

SHELL_SESSION_HISTORY を 0 に設定することにより、この動作を無効にし、単一の履歴を共有できます。各プロンプトで履歴を操作することにより、実行中のシェル間で新しいコマンドを共有するように調整する一般的なユーザー カスタマイズがいくつかあり、通常は「shopt -s histappend」が含まれます。したがって、histappend シェル オプションが有効になっている場合、セッションごとの履歴はデフォルトで無効になっています。SHELL_SESSION_HISTORY を 1 に設定することで、明示的に有効にすることができます。

を作成することでセッション状態の復元メカニズム全体を無効にできますが、セッション~/.bash_sessions_disableごとのコマンド履歴機能を無効にするためだけにこれを行う必要はなく、推奨されません。

于 2016-01-15T03:16:23.087 に答える