Mein Bash-Verlauf wird gespeichert, wenn ich über SSH eine Verbindung zu meinem Mac herstelle, iTerm2 verwende oder starte bash
in der eingebauten Terminal-App (jeder Befehl, den ich eingegeben habe bash
wird gespeichert) geht aber nicht wenn ich nur die eingebaute Terminal App benutze. Ich habe bereits versucht, die Profile in Terminal zurückzusetzen. Ich habe auch den Besitz und die Berechtigungen von überprüft .bash_history
. Später habe ich auch versucht, diese Datei zu löschen. Diese Antwort hat auch nicht geholfen. Meine Standard-Shell ist definitiv bash
.
3
Antworten:
Beginnen Sie mit der Eingrenzung der Ursache des Problems, indem Sie Anpassungen im Verlauf von Bash entfernen. Zum Beispiel jeder Code, der Shell-Variablen festlegt, die mit beginnen
HIST
, oder verwendetset -o
um entweder diehistory
oderhistexpand
Shell-Optionen.Der Befehlsverlaufscode pro Sitzung in
/etc/bashrc_Apple_Terminal
versucht, die Kompatibilität mit den Verlaufsvariablen von Bash aufrechtzuerhalten und zu erkennen, wenn der Benutzer wahrscheinlich etwas tut, mit dem er nicht kompatibel ist, und deaktiviert in diesem Fall den Mechanismus (weil der Benutzer etwas willkürliches tut, wie das Laden, Speichern oder Ändern der Geschichte). Wenn Sie jedoch Skripte haben, die das ausführenhistory
Befehl, dieser Code hat keine Möglichkeit, im Voraus zu wissen; Sie müssen entweder Ihren Code aktualisieren, um die Kompatibilität mit dem neuen Sitzungsprotokoll aufrechtzuerhalten, oder das Sitzungsprotokoll durch Festlegen deaktivierenSHELL_SESSION_HISTORY=0
wie in der Dokumentation in beschrieben/etc/bashrc_Apple_Terminal
.Wenn Sie nicht anpassen
HISTFILE
,HISTTIMEFORMAT
oder derhistappend
Eine weitere zu überprüfende Option ist, ob das oder die Shell-Startskripte geändert wurdenPROMPT_COMMAND
Variable oder dieEXIT
Trap, ohne den vorherigen Wert zu verketten, um zu vermeiden, dass er gelöscht wird.Siehe die Kommentare in
/etc/bashrc_Apple_Terminal
Hier finden Sie eine Beschreibung, wie der Mechanismus funktioniert und wie er angepasst oder deaktiviert wird.quelle
Sehen diese Antwort von einer ähnlichen Frage. El Capitan hat einige Änderungen vorgenommen, bei denen versucht wird, einen sitzungsabhängigen Verlauf zu erstellen. Sie können Ihr Problem wahrscheinlich beheben, indem Sie einfach ausführen
touch ~/.bash_sessions_disable
Erstellen Sie eine Flag-Datei, um dieses Verhalten zu deaktivieren.quelle