Was sind Variablen?
Eine Variable ist ein temporärer Speicherbereich im Speicher, der entweder vom Benutzer, der Shell, dem System oder einem anderen Programm festgelegt wird, das ein anderes Programm lädt. Es gibt zwei Kategorien von Variablen:
- Die Umgebungsvariablen sind für die Dauer der Sitzung gültig.
- Die Shell-Variablen gelten nur für die aktuelle Instanz der Shell und werden verwendet, um kurzfristige Arbeitsbedingungen festzulegen.
Shell-Variablen anzeigen
Der echo-Befehl zeigt den in einer Shell-Variablen gespeicherten Wert an.
$ echo $SHELL /bin/bash
$ set DISPLAY=:0.0 EDITOR=/usr/bin/vi SHELL=/bin/bash TERM=xterm-256color USER=geek ...
Shell-Variablen setzen und zurücksetzen
Shell-Variablen werden mit dem set-Befehl gesetzt. Zum Beispiel:
$ set history = 50 $ echo $history 30
Der set-Befehl wird auch verwendet, um die Shell-Variablen und ihre Werte anzuzeigen. Zum Beispiel:
$ set | grep history 30
Die Werte können mit dem unset-Befehl umgekehrt werden.
Standard-Bash-Shell-Variablen
Die Tabelle beschreibt Variablen, denen bei der Anmeldung von der Bash-Shell Standardwerte zugewiesen werden.
Variable | Bedeutung |
---|---|
EDITOR | Definiert den Standard-Editor für die Shell |
FCEDIT | Definiert den Editor für den fc-Befehl. Wird mit dem Verlaufsmechanismus zum Bearbeiten zuvor ausgeführter Befehle verwendet. |
STARTSEITE | Legt das Verzeichnis fest, in das der cd-Befehl wechselt, wenn kein Argument auf der Befehlszeile angegeben wird |
LOGNAME | Legt den Anmeldenamen des Benutzers fest |
PFAD | Gibt eine durch Doppelpunkte getrennte Liste von Verzeichnissen an, die durchsucht werden sollen, wenn die Shell einen auszuführenden Befehl finden muss |
PS1 | Gibt den primären Bash-Shell-Prompt an:$ |
PS2 | Gibt die sekundäre Eingabeaufforderung an, normalerweise:> |
SCHALE | Gibt den Namen der Shell an (also /bin/bash) |
Shell-Variablen anpassen:PS1
Der Shell-Prompt-String wird in der Shell-Variablen PS1 gespeichert und Sie können ihn nach Ihren Wünschen anpassen.
$ PS1=”$LOGNAME@`uname -n` \$PWD $ “ user@server01: $
– In diesem Beispiel zeigt die Eingabeaufforderung den Anmeldenamen des Benutzers, den Hostnamen des Systems und das aktuelle Arbeitsverzeichnis an.
– Der Benutzername wird aus der Variable LOGNAME gelesen , und der Hostname stammt aus der Ausgabe von ‘uname -n ‘-Befehl.
– Dieser Shell-Prompt zeigt die korrekten Informationen an, selbst wenn sich der Benutzer auf verschiedenen Hosts anmeldet.
– Das Back-Quote-Zeichen (`) trennt eine eingebettete Befehlszeichenfolge.
Shell-Variablen anpassen:PATH
Die PATH-Variable enthält eine durch Doppelpunkte getrennte Liste von Verzeichnispfadnamen. Beim Ausführen eines Befehls auf der Befehlszeile sucht die Shell nacheinander von links nach rechts nach diesen Verzeichnissen, um diesen Befehl zu finden. Wenn die Shell den Befehl nicht in der Liste der Verzeichnisse findet, zeigt sie eine „not found“-Fehlermeldung an. Damit Befehle reibungslos funktionieren, sollten Sie das jeweilige Verzeichnis in die PATH-Variable aufnehmen. Das Beispiel veranschaulicht die Einbeziehung des Home-Verzeichnisses in die PATH-Variable.
Um beispielsweise das Home-Verzeichnis in die PATH-Variable aufzunehmen, führen Sie die folgenden Befehle aus.
$ echo $PATH /usr/bin:/usr/sbin
$ PATH=$PATH:~
$ echo $PATH /usr/bin:/usr/sbin:/home/user01Hinweis :Die Variable PATH übergibt den Wert automatisch an die Subshells.