Shell-Tipps
Know-how für die Kommandozeile
Tipp: Befehle von der History ausschließen
Es kann unter Umständen sinnvoll sein, bestimmte Kommandos von der Aufnahme in die Liste der letzten Befehle auszuschließen. Auch dazu setzen Sie eine Umgebungsvariable: HISTIGNORE erwartet eine Liste von Suchmustern, die jeweils durch einen Doppelpunkt voneinander getrennt sind. Um beispielsweise den Befehl ls auszuklammern, geben Sie das Folgende ein:
export HISTIGNORE="ls"
Geben Sie anschließend ls und danach history zur Kontrolle ein, taucht das Kommando nicht mehr in der Liste auf. Verwenden Sie für das ls-Kommando jedoch weitere Parameter, zeigt der anschließende Aufruf von history diese wieder an:
$ ls […] $ ls -la […] $ history […] 493 ls -la 494 history
Des Rätsels Lösung: HISTIGNORE blendet nur exakt passende Suchmuster aus. Um also auch Aufrufoptionen oder Weiterleitungen in Dateien oder an andere Kommandos auszuklammern, geben Sie die Wildcard * bei der Variablendefinition an:
export HISTIGNORE="ls*"
Alle Befehlseingaben, die nun in irgendeiner Form mit ls beginnen, tauchen nicht länger in der history-Ausgabe auf.
Um mehrere Kommandos aus der History auszuschließen, schreiben Sie diese jeweils durch einen Doppelpunkt voneinander getrennt in die Variable. Die folgende Eingabe schließt alle Befehle aus, die mit ls, history oder exit beginnen:
export HISTIGNORE="ls*:history*:exit*"
Beachten Sie, dass über HISTIGNORE ausgeklammerte Befehle auch nicht länger über [Pfeil hoch] und [Pfeil runter] zur Verfügung stehen. Sie tauchen ebenfalls nicht mehr in der eingebauten Suche über [Strg]+[R] und [Strg]+[S] auf.
Tipp: Mehr Flexibilität für "HISTIGNORE"
Der vorige Tipp zeigt, wie Sie gezielt Kommandos aus der History ausschließen. Mit einem kleinen Trick können Sie jeden beliebigen Befehl ignorieren, wenn Sie ihm ein Leerzeichen voranstellen – praktisch, wenn Sie einmal Wert auf mehr Privatsphäre legen:
export HISTIGNORE="[ \t]*"
Danach erreichen Sie wie üblich alle vergangenen Kommandos über history und die Pfeiltasten. Soll ein bestimmter Befehl dort nicht erscheinen, stellen Sie ihm einfach ein Leerzeichen voran. So erscheint die folgende Eingabe beispielsweise nicht länger in der Befehlsliste:
$ sudo reboot
(Beachten Sie das zusätzliche Leerzeichen vor dem Befehl.)



