GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie man Zsh dazu bringt, fehlgeschlagene Befehle nicht zu speichern

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 .


Linux
  1. So verwenden Sie den Verlaufsbefehl unter Linux

  2. So löschen Sie den BASH-Befehlszeilenverlauf in Linux

  3. So löschen Sie den Bash-Verlauf unter Linux

  4. So deaktivieren Sie die Bearbeitung meines Verlaufs in Bash

  5. Wie mache ich eine Datei NICHT änderbar?

Aktivieren Sie den Zeitstempel für den Verlaufsbefehl in Zsh unter Linux

So aktivieren Sie den Zeitstempel im Bash-Verlauf unter Linux

So entfernen Sie einen Befehl aus dem Verlauf in Linux

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

So überprüfen Sie den Verlauf der Linux-Befehle nach Datum

Make-Befehl nicht gefunden? So beheben Sie das Problem