Discussion:
Bash: Durchsuchen der history
Andre Tann
2009-01-11 20:02:10 UTC
Permalink
Hallo zusammen,

man kann doch bei SuSE ein paar Buchstaben in eine Konsole
eintippen, und Bild-Auf zeigt dann alle Zeilen, die man schon zuvor
eingetippt hatte, und die mit den gegebenen Buchstaben begonnen
hatten.

Woher kommt dieser Mechanismus? Habe mir gerade eine Debian
installiert, und da funktioniert das nicht so. Jetzt würde ich es
gerne einbauen.
--
Andre Tann
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Thomas Schirrmacher
2009-01-11 20:13:34 UTC
Permalink
Hallo Andre,

das die History bei Dir (bzw. Debian) nicht funktioniert, kann ich mir
schlecht vorstellen.
Ist denn bash bei Dir installiert?

Die History-Funktion gibt es in jedem Linux.

Hier ein Auszug aus einem Linux-Buch:

Eine weitere recht nützliche Funktion ist das Wiederholen von bereits
eingegebenen Kommandos. Sie können mit den Pfeiltasten (PFEIL-OBEN und PFEIL-
UNTEN) durch die so genannte „History“ der bash blättern und bereits
ausgeführte Kommandos noch einmal ausführen oder auch gleich auf der
Kommandozeile ändern.

Gruß

Thomas
Post by Andre Tann
Hallo zusammen,
man kann doch bei SuSE ein paar Buchstaben in eine Konsole
eintippen, und Bild-Auf zeigt dann alle Zeilen, die man schon zuvor
eingetippt hatte, und die mit den gegebenen Buchstaben begonnen
hatten.
Woher kommt dieser Mechanismus? Habe mir gerade eine Debian
installiert, und da funktioniert das nicht so. Jetzt würde ich es
gerne einbauen.
--
Andre Tann
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Andre Tann
2009-01-11 20:28:02 UTC
Permalink
Servus Thomas,
Post by Thomas Schirrmacher
das die History bei Dir (bzw. Debian) nicht funktioniert, kann
ich mir schlecht vorstellen.
Sie funktioniert schon, zB kann ich mit "history" alles sehen, was
ich so eingetippt habe, und mit strg-r auch suchen. Aber
[blabla]Bild-auf bringt mir eben nicht der Reihe nach die Zeilen,
die mit [blabla] angefangen haben.
Post by Thomas Schirrmacher
Ist denn bash bei Dir installiert?
# whereis bash
bash: /bin/bash [...]

# echo $SHELL
/bin/bash
Post by Thomas Schirrmacher
Eine weitere recht nützliche Funktion ist das Wiederholen von
bereits eingegebenen Kommandos. Sie können mit den Pfeiltasten
(PFEIL-OBEN und PFEIL- UNTEN) durch die so genannte „History“ der
bash blättern und bereits ausgeführte Kommandos noch einmal
ausführen oder auch gleich auf der Kommandozeile ändern.
_Das_ funktioniert ja auch. Nur Bild-Auf/Ab nicht.
--
Andre Tann
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Thomas Moritz
2009-01-11 20:33:38 UTC
Permalink
Am Sonntag, 11. Januar 2009 21:02:10 schrieb Andre Tann:

Hallo Andre,
Post by Andre Tann
man kann doch bei SuSE ein paar Buchstaben in eine Konsole
eintippen, und Bild-Auf zeigt dann alle Zeilen, die man schon
zuvor eingetippt hatte, und die mit den gegebenen Buchstaben
begonnen hatten.
Woher kommt dieser Mechanismus? Habe mir gerade eine Debian
installiert, und da funktioniert das nicht so. Jetzt würde ich es
gerne einbauen.
Strafe muss sein :-)

Auch wenn die Antwort nicht direkt Deine Frage beantwortet:

history | grep suchwas

sollte Dich schnell zum Ergebnis fuehren. Meine History habe ich auf
10000 Zeilen eingestellt...

MfG Th. Moritz
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
David Haller
2009-01-12 01:14:34 UTC
Permalink
Hallo,
Post by Andre Tann
man kann doch bei SuSE ein paar Buchstaben in eine Konsole
eintippen, und Bild-Auf zeigt dann alle Zeilen, die man schon zuvor
eingetippt hatte, und die mit den gegebenen Buchstaben begonnen
hatten.
Woher kommt dieser Mechanismus? Habe mir gerade eine Debian
installiert, und da funktioniert das nicht so. Jetzt würde ich es
gerne einbauen.
<STRG+v><Bild_rauf> in einer bash (xterm) gibt '^[[5~' (ohne '') aus.
^[ = \e = Escape

,----[ /etc/inputrc oder ~/.inputrc ]
| #"\e[5~": previous-history
| #"\e[6~": next-history
| "\e[5~":history-search-backward
| "\e[6~":history-search-forward
`----

history-search-backward/history-search-forward sind die Funktionen die
du auf Bild-rauf/runter haben willst, obige Einträge sind also richtig
für dich.

Siehe:
man -P"less '+/Readline Initialization'" bash
info '(readline)Readline Init File'
info readline (Rest ohne die programmierspezifischen Abschnitte)
info history (dito)

-dnh, mal hoffend, daß die Doku noch in diesen Dateien steckt
--
Beware of bugs in the above code; I have only proved it correct, not tried it.
- Donald Knuth
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Andre Tann
2009-01-12 06:16:05 UTC
Permalink
Moin David,
Post by David Haller
<STRG+v><Bild_rauf> in einer bash (xterm) gibt '^[[5~' (ohne '')
aus. ^[ = \e = Escape
,----[ /etc/inputrc oder ~/.inputrc ]
| #"\e[5~": previous-history
| #"\e[6~": next-history
| "\e[5~":history-search-backward
| "\e[6~":history-search-forward
Kurz und bündig... und funktioniert. Danke!
--
Andre Tann
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
David Haller
2009-01-12 11:21:29 UTC
Permalink
Hallo,
Post by Andre Tann
Post by David Haller
<STRG+v><Bild_rauf> in einer bash (xterm) gibt '^[[5~' (ohne '')
aus. ^[ = \e = Escape
,----[ /etc/inputrc oder ~/.inputrc ]
| #"\e[5~": previous-history
| #"\e[6~": next-history
| "\e[5~":history-search-backward
| "\e[6~":history-search-forward
Kurz und bündig... und funktioniert. Danke!
*hurhur* Wie sach ich immer? Grundlagen! :)

Die genannte Doku solltest du mal zumindest grob lesen! Lesen, wie
(lib)readline, (lib)history und die bash (und/oder andere Shells)
zusammenspielen ;)

-dnh

BTW: 'start-stop-daemon' macht in Debian wohl das, was
startproc/killproc unter Suse machen -- ein checkproc (was bei
'rc* status' meist verwendet wird) scheint aber zu fehlen,
d.h. man muß selber gucken (Pidfile: Existenz / auslesen / prüfen
ob PID läuft, Lockfile, Module, Prozesse...). Gern mehr per PM.
--
Wir leben in der Unterhaltungsbranche. Wuerde sonst jemand ernsthaft
ueber "NT" als Server-OS nachdenken ? [Hans Bonfigt]
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Matthias Müller
2009-01-13 21:23:08 UTC
Permalink
Hallo,
Post by Andre Tann
Hallo zusammen,
man kann doch bei SuSE ein paar Buchstaben in eine Konsole
eintippen, und Bild-Auf zeigt dann alle Zeilen, die man schon zuvor
eingetippt hatte, und die mit den gegebenen Buchstaben begonnen
hatten.
Woher kommt dieser Mechanismus? Habe mir gerade eine Debian
installiert, und da funktioniert das nicht so. Jetzt würde ich es
gerne einbauen.
Noch'n Vorschlag (zB in .bashrc eintragen, beide Befehle sind notwendig)
set +o emacs
set -o vi

dann funktioniert die Vorwärts-/Rückwärtssuche wie in vi/vim (also ESC-hjkl)
inkl Suchmuster etc. Mit ESC-\ oder ESC-* kann man zB auch Vervollständigen
(Tab-Funktionalität) ksh-Verhalten halt.

Wenn die Plus- und Minuszeichen getauscht werde hat man das emacs-Verhalten.
Wobei das glaube ich für die bash Standard ist.
--
Mit freundlichen Grüßen
Matthias Müller
(Benutzer #439779 im Linux-Counter http://counter.li.org)
PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!
Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
Loading...