Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
lpi1:shell_configdateien [2014/07/16 12:29] stefan_miethke [Bash Konfigurationsdateien] |
lpi1:shell_configdateien [2018/08/15 17:05] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Prompt ====== | ||
+ | Aufgabe: | ||
+ | |||
+ | Lese 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. (( | ||
+ | PS1="\u@\h (\!) \w\$" | ||
+ | )) | ||
+ | |||
===== Bash Konfigurationsdateien ===== | ===== Bash Konfigurationsdateien ===== | ||
Testen, welche Konfigurationsdateien wann benutzt werden: | Testen, welche Konfigurationsdateien wann benutzt werden: | ||
Zeile 6: | Zeile 21: | ||
done | done | ||
+ | Vorsicht: Nur die Erste zählt! (man bash -> INVOCATION) | ||
==== profile oder bashrc? ==== | ==== profile oder bashrc? ==== | ||
''umask'' und ''export''ierte Variablen gehören besser in die ''.profile'', weil Beides an die Kindprozesse vererbt wird. | ''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. | + | 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. |
+ | |||
+ | === 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 ===== | ===== Häufige Kommandofolgen abkürzen ===== | ||
Zeile 19: | Zeile 53: | ||
Dateiinhalt ohne Kommentare ausgeben: | Dateiinhalt ohne Kommentare ausgeben: | ||
+ | alias ccat='egrep -v "^\s*(#|$)"' | ||
+ | oder | ||
<code bash> | <code bash> | ||
function ccat { | function ccat { |