Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:shell_configdateien

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

lpi1:shell_configdateien [2018/08/15 17:05]
lpi1:shell_configdateien [2023/10/25 07:53] (aktuell)
Zeile 1: Zeile 1:
 +===== .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 ===
 +
 +<file bash ~/​.profile>​
 +
 +
 +
 +VAR=wert
 +export VAR
 +</​file>​
 +
 +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
 +<code bash>
 +function ccat { 
 +  grep -Ev '​^\s*(#​|$)'​ "​$1" ​
 +}
 +</​code>​
 +
 +Dateiinhalt ohne Kommentare durchsuchen:​
 +<code bash>
 +function cgrep {
 +  grep -Ev '​^\s*(#​|$)'​ "​$2"​ | grep --colour=auto "​$1"​
 +}
 +</​code>​
 +
 +Funktonen und Variablen anzeigen:
 +  set
 +
 +Funktion löschen
 +  unset -f ccat
 +
 +===== Dokumentation =====
 +  man bash
 +  /INVOCATION
 +
 +  help function
 +