Bart Schäfer schlug den folgenden Ansatz für dieselbe Frage zu den zsh-Benutzern vor Mailingliste:
zshaddhistory() { whence ${${(z)1}[1]} >| /dev/null || return 1 }
Diese Funktion wird ausgeführt, bevor die Befehlszeile in den Verlauf geschrieben wird. Wenn es 1 zurückgibt, wird die aktuelle Befehlszeile weder an die Verlaufsdatei noch an den lokalen Verlaufsstapel angehängt. Die Prüfung, ob der Befehl jedoch einen Befehl nicht gefunden auslöst Fehler deckt nur einfache Fälle ab. Z.B. diese Zeile wird im Verlauf stehen:
echo foo; echooo bar
Aber es funktioniert gut für Ihr Beispiel
gut status
Bitte beachten Sie, dass bei UP-ARROW
der falsche Befehl angezeigt wird (damit Sie es korrigieren können!), ist aber nicht im Verlaufsstapel; überprüfen Sie mit fc -l
.