Bequem(er) durch die History der Bash

Bequem(er) durch die History der Bash
18.02.2014 13:01

Die Bash merkt sich netterweise die zuletzt eingegebenen Kommandos. Über die Pfeiltasten nach oben und unten navigiert man schnell zwischen den alten Befehlen. Wer nach einem ganz bestimmten Befehl sucht, kann auch [Strg+r] drücken und dann einen Teil des gesuchten Befehls eintippen. Dabei zeigt die Bash allerdings immer nur einen Befehl an. Das ist besonders dann unvorteilhaft, wenn man etwa zuvor mehrfach ./configure mit immer wieder anderen Parametern aufgerufen hatte.

Wesentlich komfortabler in der Vergangenheit stöbern lässt sich mit der BASH History Suggest Box. Via hh aufgerufen, zeigt dieses Werkzeug zunächst eine Liste aller zuletzt abgesetzten Befehle (wie in der untenstehenden Abbildung). Mit den Pfeiltasten kann der Anwender jetzt einen Befehl ansteuern und ihn entweder direkt mit der Eingabetaste aufrufen oder aber per [Tab] an das Prompt setzen lassen.

Die BASH History Suggest Box in Aktion

Wer ein bestimmtes Kommando sucht, kann auch einfach ein paar seiner Zeichen eintippen. Es genügt dabei, einfach loszuschreiben. Die BASH History Suggest Box listet dann alle Befehle auf, die in irgendeiner Weise infrage kommen. Auch hier steuert man den gesuchten Befehl wieder mit den Pfeiltasten an – oder tippt einfach weiter, bis die Auswahl entsprechend eingeschränkt ist.

Inbetriebnahme

Die BASH History Suggest Box steht im Quellcode auf Github bereit. Ein .tar.gz-Archiv mit der aktuellen stabilen Version gibt es auf einer eigenen Seite, auf der man sich nicht von der Überschrift irritieren lassen sollte.

Das Quellcodearchiv muss man nur auf der Festplatte entpacken. Anschließend installiert man über seinen Paketmanager den C-Compiler und make sowie die Entwicklerpakete zu ncurses und Readline. Unter Ubuntu sind das die Pakete build-essential, libncurses5-dev und libreadline-dev. Jetzt kann man den Quellcode der BASH History Suggest Box mit dem klassischen Dreisatz übersetzen und einspielen:

./configure
make
sudo make install

Das Werkzeug startet dann ein simples:

hh

Konfiguration

In der Liste zeigt die BASH History Suggest Box standardmäßig nur ausgewählte Kommandos an. Das Werkzeug orientiert sich dabei an der Häufigkeit, der Länge und dem Zeitstempel der Befehle. Mit [Strg+/] (bei einer deutschen Tastaturbelegung also [Strg+Umschalt+7]) zeigt Liste die Befehle hingegen in genau der Reihenfolge, in der man sie eingegeben hatte.

Die Konfiguration der des Werkzeugs erfolgt maßgeblich über Umgebungsvariablen. Für mehr Farbe in der Benutzeroberfläche sorgt beispielsweise:

export HH_CONFIG=hicolor
hh

Alle übrigen Umgebungsvariablen erläutert die Manpage. Wer Gefallen an der BASH History Suggest Box findet, kann das Werkzeug mit dem folgenden Befehl auf die Tastenkombination [Strg+r] legen:

hh --show-configuration >> ~/.bashrc

Kommentare

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 2 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Neue SuSE-Literatur
Roland Welcker, 14.01.2015 14:10, 1 Antworten
Verehrte Linux-Freunde, seit Hans-Georg Essers Buch "LINUX" und Stefanie Teufels "Jetzt lerne ich...
DVD abspielen unter openSUSE 13.1
Michael Pfaffe, 12.01.2015 11:48, 6 Antworten
Hallo Linuxer, Bisher habe ich meine DVD´s mit linDVD unter openSUSE abgespielt. Mit der Versi...
Kontrollleiste SuSE 12.3 gestalten
Roland Welcker, 31.12.2014 14:06, 1 Antworten
Wie bekomme ich das Icon eines beliebigen Programms (aktuell DUDEN) in die Kontrollleiste und kan...
flash-player
roland reiner, 27.12.2014 15:24, 7 Antworten
Mein Flashplayer funktioniert nicht mehr-Plug in wird nicht mehr unterstütz,auch über google chro...
PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 10 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Mint 17.1
Gerd Ewald, 26.01.2015 19:06
Hallo Werner, Du hattest am Mon, dem 26.01.15 um 15:50 +0100 CET folgendes geschrieben: >Hallo Stefan....
Re: [EasyLinux-Ubuntu] KMail2 / fetchmail
Heinz-Stefan Neumeyer, 26.01.2015 18:15
Am Montag, den 26.01.2015, 17:45 +0100 schrieb Uwe Herrmuth: Hallo Uwe > > Mal nur interessehalber...
Re: [EasyLinux-Ubuntu] KMail2 / fetchmail
Uwe Herrmuth, 26.01.2015 17:45
Hallo Stefan, Heinz-Stefan Neumeyer schrieb am 26.01.2015 um 12:38: > > Welche 'Post-Lösung' hast du...
Re: [EasyLinux-Ubuntu] gratis-Apps__was:Open/LibreOffice_für__Android
Gerhard Blaschke, 26.01.2015 17:43
Am 23.01.2015 um 16:40 schrieb Heinz-Stefan Neumeyer: > Am Dienstag, den 23.12.2014, 09:47 +0100 schrieb W...
Re: [EasyLinux-Suse] [SOLVED] Qt SQLite database plugin
Mahmud Al-Ahmed, 26.01.2015 16:55
On Sun, 25 Jan 2015 17:19:25 +0100 "H.-Stefan Neumeyer" wrote: > Hatte sowas ähnliche nicht sc...