2.7 Umgebungsvariablen eines Prozesses
Wenn Sie ein Script, eine neue Shell oder ein Programm starten, so wird diesem Programm eine Liste von Zeichenketten (genauer Array von Zeichenketten) übergeben. Diese Liste wird als Umgebung des Prozesses bezeichnet. Gewöhnlich enthält eine solche Umgebung zeilenweise Einträge in Form von:
variable=wert
Somit sind Umgebungsvariablen zunächst nichts anderes als global mit dem Kommando export oder typeset –x definierte Variablen. Trotzdem gibt es irgendwo eine Trennung zwischen benutzerdefinierten und von der Shell vordefinierten Umgebungsvariablen. Normalerweise werden die von der Shell vordefinierten Umgebungsvariablen großgeschrieben – aber dies ist keine Regel. Eine Umgebungsvariable bleibt weiterhin eine, solange Sie der kompletten Umgebung eines Prozesses zur Verfügung steht.
Vordefinierte Umgebungsvariablen werden benötigt, um das Verhalten der Shell oder der Kommandos zu beeinflussen. Hier als Beispiel die Umgebungsvariable HOME, welche gewöhnlich das Heimverzeichnis des eingeloggten Benutzers beinhaltet.
you@host > echo $HOME
/home/you
you@host > cd /usr/include
you@host :/usr/include> cd
you@host > pwd
/home/you
you@host > backup=$HOME
you@host > HOME=/usr
you@host :/home/you> cd
you@host > pwd
/usr
you@host > echo $HOME
/usr
you@host > HOME=$backup
you@host :/usr> cd
you@host > pwd
/home/you
Wenn also die Rede von Umgebungsvariablen ist, dann sind wohl meistens die von der Shell vordefinierten Umgebungsvariablen gemeint und nicht die benutzerdefinierten. Selbstverständlich gilt in Bezug auf die Weitervererbung an Subshells für die vordefinierten Umgebungsvariablen dasselbe wie für die benutzerdefinierten, so wie es auf den vorherigen Seiten beschrieben wurde.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.
|