.bash_history für mehrere Shells
Du kennst das. Du hast ein Terminal geöffnet und tippst fleißig deine Befehle ein, öffnest ein zweites Terminal und – es erinnert sich nicht an die gerade eben eingetippten Kommandos. Und es kommt sogar noch schlimmer: Wenn du zuerst das erste Terminal und danach das Zweite schließt, werden die Befehle des ersten Terminals aus der Datei ~/.bash_history überschrieben. Doppelt nervig.
Die Bash speichert die .bash_history nur beim schließen eines Terminals, und nicht nach jedem eingetippten Kommando. Das lässt sich leicht ändern:
nano ~/.bashrc
(An Ubuntuuser: Man beachte, kein sudo hier. Die Datei gehört dem User, nicht dem System. Und selbstverständlich lässt sich auch jeder andere Texteditor wie gedit, kate, vi oder emacs nehmen.)
Füge nun die folgenden Zeilen hinzu:
shopt -s histappend
PROMPT_COMMAND='history -a'
und speichere das ganze ab (In Nano mit Strg+O. “^” steht in den meisten Fällen für Strg. Also macht die Statuszeile in Nano doch ein wenig Sinn. ;) )
Dies sorgt dafür, dass der Kommandoverlauf von der Bash angehängt (und nicht einfach überschrieben) wird. Ausserdem wird jedes mal, wenn ein Prompt ausgegeben wird, abgespeichert.
-
4.12.2007 / 8:04
Na das ist doch mal ein super Tipp. Ehrlich gesagt hat mich das schon immer gestört, habe aber nie nach einer Lösung gesucht. Danke.
-
4.12.2007 / 8:54
Hi!
Bei SuSE 10.2 musste ich statt
PROMPT_COMMAND=’history -a’
dann
PROMPT_COMMAND="history -a"
einfügen, weil sonst immer folgende Meldung beim Shell-Öffnen erschien:
bash: -a’: command not foundGrüße
-
4.12.2007 / 13:42
@Oliver: Mir gings genauso. Bin selbst auch nur zufällig über die Lösung gestolpert.
@Klemens: Eigenartig, aber danke für den Hinweis.
-
4.12.2007 / 14:49
Netter Tipp, danke!
Wie das mit der bashrc geht wusste ich bisher nicht. -
6.12.2007 / 14:04
Ob man ‘ (einfache Anführungstriche) oder ” (doppelte Anführungszeichen verwendet ist egal. Es dürfen nur keine ` (Backticks) sein.
(Den umgedrehten Backtick: ´ (wie heißt der eigentlich) verwendet man ja sowieso nie.)Ich hab diesen Tipp vor einigen Monaten im Internet gelesen und finde ihn ebenfalls sehr sinnvoll.
-
6.4.2008 / 13:39
Wie schon erwähnt kann man sowohl Anführungszeichen (Unicode U+201C “) als auch Apostroph-Ersatzzeichen (Unicode U+0027 ‘) verwenden – das Problem ist, dass WordPress hier die Apostroph-Ersatzzeichen durch echte Apostrophen (Unicode U+2019) ersetzt, weswegen Copy’n'Paste hier nicht funktioniert.
Selbst tippen ist angesagt. :)
Hinterlasse einen Kommentar
XHTML: Folgende Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
navigation
- [1] was ist [ pimp my shell ] ?
- [2] programme
- [3] skripte / dotfiles
- [4] shellshots
- [5] mitmachen
- [6] autoren
- [7] einloggen
- [8] impressum
aussehen
ältere beiträge
- 08.26 lsr – Das fehlende Listing
- 06.18 wirklich? so einfach?
- 06.17 fbcmd – update
- 06.04 worklog – die zeit im griff
- 05.30 google-reader >> snownews
- 05.28 fbcmd – facebook in der shell
- 05.28 bitlbee – alles in einem!
- 05.16 NoPaste/pastebin-Service über die Shell mit curl und sprunge.us
- 04.15 Die Heirloom-Tools – Unix unter Linux
- 02.13 dvtm – dwm für die Konsole
beitrags-archiv
- August 2010 (1)
- Juni 2010 (3)
- Mai 2010 (3)
- Mai 2008 (1)
- April 2008 (1)
- Februar 2008 (4)
- Januar 2008 (1)
- Dezember 2007 (2)
- September 2007 (1)
- August 2007 (1)
- Juli 2007 (6)
- Juni 2007 (1)
kategorien
- allgemein (17)
- berichte (7)
- fun (2)
- gnu_screen (2)
- hintergrundwissen (3)
- how-tos (11)
- internes (6)
- programme (31)
- shells (6)
- tutorials (6)
- user-skripte (2)
- vim (5)
- webseiten (5)
6 Kommentare
Zum Kommentarformular | Kommentar rss [?] | trackback uri [?]