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 verwendet set -o
um entweder die history
oder histexpand
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ühren history
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 deaktivieren SHELL_SESSION_HISTORY=0
wie in der Dokumentation in beschrieben /etc/bashrc_Apple_Terminal
.
Wenn Sie nicht anpassen HISTFILE
, HISTTIMEFORMAT
oder der histappend
Eine weitere zu überprüfende Option ist, ob das oder die Shell-Startskripte geändert wurden PROMPT_COMMAND
Variable oder die EXIT
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.