===== .bashrc ======
==== Aufgabe 1: History ====
Erweitere die history list so, dass sie Platz für 2000 Befehle hat und 200000 Befehle in einer Datei bewahrt.
Was ändert sich mit der Variable\\
''HISTTIMEFORMAT='[%F_%T] '''
==== Aufgabe 2: Prompt ====
Lies das Kapitel "Prompting" in der "man"-Page für "bash". Erstelle einen Prompt-String welcher die folgenden Daten beinhaltet:
* Loginname
* Hostname des Rechners
* die History-Nummer des aktuellen Kommandos, in Klammern "z. B. (10)"
* das aktuelle Verzeichnis
* Prompt-Zeichen für normalen Benutzer oder "root"
Baue das neue Prompt in das Profile-Startscript für die Bash für deinen aktuellen Benutzer ein.
==== profile oder bashrc? ====
''umask'' und ''export''ierte Variablen gehören besser in die ''.profile'', weil beides an die Kindprozesse vererbt wird.
Eine Ersetzung in der Form ''%%PATH="$PATH:$HOME/bin"%%'' würde z. B. mit jeder weiteren Subshell ausgeführt und jedes Mal neu evaluiert werden, so dass dieselbe Ergänzung jedes Mal wieder stattfindet.
=== Beispiel Umgebungsvariable setzen ===
…
VAR=wert
export VAR
Abmelden: Grafisch oder
loginctl list-sessions
loginctl terminate-session 5
Wieder anmelden.
echo $VAR
(Neustart ''gnome-terminal'' reicht nicht)
===== Häufige Kommandofolgen abkürzen =====
''ls -l'' abkürzen:
alias ll='ls -l'
Aliase anzeigen:
alias
Dateiinhalt ohne Kommentare ausgeben:
alias ccat='grep -Ev "^\s*(#|$)"'
oder
function ccat {
grep -Ev '^\s*(#|$)' "$1"
}
Dateiinhalt ohne Kommentare durchsuchen:
function cgrep {
grep -Ev '^\s*(#|$)' "$2" | grep --colour=auto "$1"
}
Funktonen und Variablen anzeigen:
set
Funktion löschen
unset -f ccat
===== Dokumentation =====
man bash
/INVOCATION
help function