Under Construction

Allgemeine Konfiguration

Über die Shell-Option history kann die History Funktionalität ein- oder ausgeschaltet werden. Per Default ist die History Funktionalität für eine interaktive bash aktiviert.

Einschalten der History Funktionalität:

[user01@aixe01 ~]$ set -o history
[user01@aixe01 ~]$ set -o | grep history
history         on
[user01@aixe01 ~]$

Ausschalten der History Funktionalität:

[user01@aixe01 ~]$ set +o history
[user01@aixe01 ~]$ set -o | grep history
history         off
[user01@aixe01 ~]$

Hinweis: Ein Zugriff über die Cursor-Tasten auf zurückliegende Kommandos ist dann ebenfalls nicht mehr möglich!

Auch die Funktionalität der History Erweiterung mittels des History Zeichens „!“ kann aktiviert oder deaktiviert werden. Hierfür gibt es die Shell-Option histexpand.

Einschalten der History Erweiterung:

[user01@aixe01 ~]$ set -o histexpand
[user01@aixe01 ~]$ set -o | grep hist
histexpand      on
history         on
[user01@aixe01 ~]$

Ausschalten der History Erweiterung:

[user01@aixe01 ~]$ set +o histexpand
[user01@aixe01 ~]$ set -o | grep hist
histexpand      off
history         on
[user01@aixe01 ~]$


Hinweis: Die History Erweiterung ist für eine interaktive bash per default aktiviert.

Um die History von einer Session zur nächsten Session zu behalten, wird die History standardmäßig in einer Datei abgespeichert. Per Default wird die Datei ~/.bash_history verwendet. Über die Shell-Variable HISTFILE kann aber auch eine andere Datei verwendet werden. Es werden dabei maximal HISTFILESIZE Zeilen in der History Datei abgespeichert, per Default 500. Durch Setzen der Variablen HISTFILESIZE auf einen anderen Wert, kann eine entsprechend andere Anzahl von Kommandos gespeichert werden.

Per Default wird die in HISTFILE hinterlegte Datei dabei jeweils überschrieben! Ist dies nicht gewünscht, und  man möchte bestehende Einträge in der Datei behalten, kann die Shell-Option histappend verwendet werden. Die Option ist defaultmäßig ausgeschaltet:

[user01@aixe01 ~]$ shopt histappend
histappend      off
[user01@aixe01 ~]$

Mit dem Kommando „shopt –s“ kann die Option jederzeit eingeschaltet werden:

[user01@aixe01 ~]$ shopt -s histappend
[user01@aixe01 ~]$ shopt histappend
histappend      on
[user01@aixe01 ~]$

Jetzt werden bei Beendigung der bash die aktuellen Einträge der History an die bestehende History Datei angefügt. Allerdings können weiterhin nur maximal HISTFILESIZE Zeilen in der History Datei insgesamt abgelegt werden.

Eine weitere Konfigurationsmöglichkeit betrifft die Anzahl der Kommandos in der internen History. Hierfür gibt es die eigenständige Variable HISTSIZE mit einem Default-Wert von 500. Damit kann in der internen bash History eine andere Anzahl von Kommandos gespeichert werden, als in der History-Datei.

Änderungen an der Konfiguration sollten wie gehabt wieder in einer der bash Startdateien hinterlegt werden, wir verwenden hierzu wieder die Datei ~/.bashrc:

[user01@aixe01 ~]$ cat .bashrc

shopt –s histappend

[user01@aixe01 ~]$