History Erweiterung bash

Drawing Shell

Viele AIX und UNIX Benutzer verwenden bash als bevorzugte Shell. Navigieren in der History mit den Cursor-Tasten wird sicher von allen Benutzern täglich unzählige Male verwendet. Solange die interessanten Kommandos nur kurze Zeit zurückliegen, funktioniert dies sehr gut. Für Kommandos die länger zurückliegen, ist der Zugriff mit Hilfe der Cursor-Tasten aber relativ aufwändig. Wer möchte schon 50 Mal die Cursor-Tasten betätigen um auf ein Kommando zuzugreifen?

Eine deutlich effizientere Möglichkeit bietet hier der bash History Erweiterungsmechanismus. Mit Hilfe des History Zeichens „!“ kann auf zurückliegende Kommandos zugegriffen werden. Dabei können die Kommandos auf verschiedene Weisen spezifiziert werden:

    • Die Nummer des Kommandos: !31
    • Das n-te zurückliegende Kommando: !-n (z.B. !-3 für das drittletzte Kommando)
    • Das letzte Kommando das mit einer bestimmten Zeichenkette anfängt: !ca
    • Das letzte Kommando das an beliebiger Stelle eine bestimmte Zeichenkette besitzt: !?ca

Damit sind die Möglichkeiten aber noch lange nicht ausgeschöpft. Man kann gezielt auf einzelne Argumente eines zurückliegenden Kommandos zugreifen und sogar Änderungen vornehmen.

Hier einige wenige dieser Möglichkeiten:

    • !! (das letzte Kommando erneut ausführen)
    • ^op^art (das letzte Kommando erneut ausführen, dabei aber „op“ durch „art“ ersetzen)
    • cat !?sam?:% (das Kommando cat auf dem letzten Argument das die Zeichenkette „sam“ enthält ausführen)
    • vi !$ (vi auf dem letzten Argument des letzten Kommandos ausführen)

Eine Beschreibung dieser und weiterer Möglichkeiten der bash findet man hier:

Die bash History Erweiterung (Expansion)