Wie kann der Bash-Verlauf automatisch bereinigt werden? Zum Beispiel
- Entfernen Sie erkennbare Tippfehler aus dem Verlauf (
ls-lh
taucht nicht inwhich
auf , also entfernt wurde, wollte ichls -lh
eingeben ) - Löschen Sie übermäßige Leerzeichen
cd /
undcd /
sollten normalisiert werden, damit sie gleich sind.
Kann man das in bash machen? Vielleicht ein Filter für alle Befehle, bevor sie ausgeführt werden oder bevor sie in die Historie eingehen?
Ich hoffe, ich muss nicht warten, bis es in die Datei geschrieben wird, bevor ich eine Bereinigungsroutine ausführe. Das würde bedeuten, sich vor der Bereinigung abzumelden. :(
Akzeptierte Antwort:
Ich würde es vorziehen, einen Alias für alle häufig vorkommenden Fehler zu behalten. Beispiel
alias ls-lh = ls -lh
Verwenden Sie einen Alias, um Tippfehler bei fehlenden Leerzeichen zu korrigieren:
alias cd..='cd ..
Verwenden Sie HISTIGNORE, um alle Befehle anzugeben, die Sie aus dem Verlauf ignorieren möchten. Verwenden Sie export HISTIGNORE="$LIST"
um aufzulisten, die Sie innerhalb des Verlaufs ignorieren möchten
Es gibt mehrere andere interessante Optionen, die durch den eingebauten Befehl „shopt“ gesteuert werden.
siehe hier