Solaris Handbuch für Fortgeschrittene Benutzer

10.3 Umgebungsvariablen

Die Arbeitsumgebung wird aufgrund einer Reihe von Spezifikationen definiert, die in den Konfigurationsdateien festgelegt werden. Wenn Sie Ihre Arbeitsumgebung nur für die Dauer der aktuellen Arbeitssitzung ändern wollen, können Sie das direkt nach der Befehls-Eingabeaufforderung tun. Sollen die Änderungen dagegen für einen längeren Zeitraum gelten, speichern Sie die gewünschten Einstellungen mit Hilfe von Umgebungsvariablen in den Dateien .profile, .login oder .cshrc.

So zeigen Sie die aktuell auf Ihrem System gesetzten Umgebungsvariablen an:

  1. Geben Sie env ein, und drücken Sie Return".

    $ env
    
    HISTORY=100
    
    HOME=/home/hobbes/calvin
    
    HZ=100
    
    LANG=de
    
    LOGNAME=calvin
    
    MAIL=/var/mail/calvin
    
    MANSECTS=\1:1m:1c:1f:1s:1b:2:\3:3c:3i:3n:3m:3k:3g:3e:3x11:3xt:3
    
    w:3b:9:4:5:7:8
    
    PATH=/usr/bin
    
    SHELL=/bin/sh
    
    TERM=sun
    
    TZ=MET


    Hinweis -

    Sie können mit dem Befehl env auch den Namen der Login-Shell abrufen, da diese in der Umgebungsvariablen SHELL angegeben ist. In dem Beispiel oben ist /bin/sh (Bourne-Shell) die Login-Shell.


10.3.1 Benutzerprofil

In diesem Abschnitt werden einige der am häufigsten verwendeten Umgebungsvariablen beschrieben. Viele dieser Variablen sind wahrscheinlich schon in Ihrer Profildatei (.profile bei der Bourne- und Korn-Shell bzw. .cshrc bei der C-Shell) enthalten, die sich im Home-Verzeichnis befindet.


Hinweis -

Punktdateien werden mit dem Befehl ls -la angezeigt.


In der folgenden Liste sind einige der Umgebungsvariablen aufgeführt, die in Ihrem Benutzerprofil vorhanden sein können. Wie Sie diese Variablen setzen, hängt von der verwendeten Shell ab.

10.3.2 Umgebungsvariable PATH setzen

Die Umgebungsvariable PATH gibt an, in welchen Verzeichnissen des Dateisystems nach den Befehlen gesucht wird, die Sie in die Befehlszeile eingeben. Dieser Suchpfad kann von Ihnen beliebig erweitert werden.

Ist die Variable nicht gesetzt, müssen Sie jeden Befehl mit vollständigem Pfadnamen eingeben. Nehmen wir an, Sie wollen eine Datei kopieren. Ohne Suchpfad müssen Sie den Befehl als /usr/bin/cp eingeben. Ist das Verzeichnis /usr/bin dagegen im Suchpfad enthalten, geben Sie einfach cp ein. Das System sucht daraufhin in allen Verzeichnissen des Suchpfads nach dem Befehl cp und führt ihn aus, sobald es das richtige Verzeichnis gefunden hat. Wenn Sie alle normalerweise verwendeten Befehlsverzeichnisse in den Suchpfad aufnehmen, können Sie also bei der Eingabe von Befehlen viel Zeit sparen.

Bei der Bourne- und Korn-Shell wird die Variable PATH in der Datei .profile gesetzt, die sich in Ihrem Home-Verzeichnis befindet:

PATH=.:/usr/bin://home/bin

home steht für den Pfadnamen Ihres Home-Verzeichnisses.

Bei der C-Shell wird PATH in der Datei .cshrc gesetzt, die sich ebenfalls in Ihrem Home-Verzeichnis befindet:

>set path=(. /usr/bin >home>>/bin)

home steht für den Pfadnamen Ihres Home-Verzeichnisses.


Hinweis -

In der C-Shell können Sie den Pfadnamen des Home-Verzeichnisses auch durch eine Tilde (~ ) angeben.


Mit folgendem Befehl werden die Änderungen der Variablen PATH in der C-Shell aktiviert:

>example% source .cshrc>

 

In der Bourne- oder Korn-Shell geben Sie statt dessen folgendes ein:

$ . .profile 

10.3.3 Aliasnamen (nur C-Shell)

In der C-Shell können Sie häufig verwendeten Befehlen Aliasnamen zuweisen. Auf diese Weise können Sie einen Befehl mit Optionen ausführen, ohne die Optionen explizit angeben zu müssen. Der Befehl rm entfernt beispielsweise Dateien standardmäßig, ohne vorher eine Bestätigung einzuholen. Dies ist gefährlich, da durch einen einfachen Tippfehler wertvolle Dateien unwiederbringlich verlorengehen können. Wenn Sie den Befehl dagegen mit der Option -i eingeben, werden Sie vor dem Löschen zur Bestätigung des Vorgangs aufgefordert. Indem Sie die Zeile

alias rm  'rm -i'

in die Datei .cshrc aufnehmen, weisen Sie dem Befehl rm -i den Aliasnamen rm zu, d. h. wenn Sie rm eingeben, wird in Wirklichkeit rm -i ausgeführt, und das System läßt sich den Löschvorgang bestätigen. (Bei der Eingabe dürfen Sie die Anführungszeichen nicht weglassen, da die Shell den Text nach dem Leerzeichen sonst nicht richtig interpretiert.)

Um die Änderungen an der Datei .cshrc sofort wirksam zu machen, geben Sie folgenden Befehl ein:

example% source .cshrc

10.3.4 Eingabeaufforderung ändern

Mit welchem Befehl Sie die Eingabeaufforderung Ihrer Shell ändern, hängt davon ab, ob Sie mit der Bourne-, Korn- oder C-Shell arbeiten.

Bourne- und Korn-Shell

In der Bourne- und der Korn-Shell ändern Sie die Eingabeaufforderung mit dem Befehl PS1. Hier drei Beispiele:

PS1=": "

PS1="`hostname`: "

PS1="`hostname`{`id`}}: "

Geben Sie eines der oben gezeigten Beispiele ein. Die neue Einstellung gilt nur während der aktuellen Arbeitssitzung.

Wenn Sie die Eingabeaufforderung auf Dauer ändern möchten, nehmen Sie die Definition in die Datei .profile in Ihrem Home-Verzeichnis auf.

C-Shell

In der C-Shell ändern Sie die Eingabeaufforderung mit dem Befehl set prompt. Hier drei Beispiele:

set prompt="% "

set prompt="`hostname`\!: "

set prompt="`hostname`{`id`}}: "

Geben Sie eines der oben gezeigten Beispiele ein. Die neue Einstellung gilt nur während der aktuellen Arbeitssitzung.

Wenn Sie die Eingabeaufforderung auf Dauer ändern möchten, nehmen Sie die Definition in die Datei .cshrc in Ihrem Home-Verzeichnis auf.

10.3.5 Weitere Variablen

Es gibt eine Vielzahl weiterer Variablen, die Sie in der Datei .profile oder .cshrc setzen können. Eine vollständige Liste aller Umgebungsvariablen finden Sie in den man Pages(1): User Commands. In diesem Abschnitt werden einige der am häufigsten verwendeten Anpassungsmöglichkeiten beschrieben.

Mit set noclobber verhindern Sie, daß Dateien beim Kopieren mit cp versehentlich überschrieben werden. Diese Variable wird nur von der C-Shell unterstützt. Geben Sie folgendes in die Datei .cshrc ein:

set noclobber

Mit der Variable HISTORY legen Sie fest, wie viele Befehle in der Historienliste (Befehlsprotokoll) gespeichert werden. Der Inhalt der Liste kann mit dem Befehl history abgerufen werden, mit dem Sie auch zuvor eingegebene Befehle wiederholen können. Für die C-Shell nehmen Sie folgende Zeile in die Datei .cshrc auf (zahl ist die Anzahl der zu speichernden Befehle):

set history=zahl

Für die Bourne- oder Korn-Shell setzen Sie folgende Zeile in die Datei .profile (zahl ist die Anzahl der zu speichernden Befehle):

HISTORY=zahl