\
Neben den Konfigurationsdateien spielen Environmentvariablen bei Linux eine wichtige Rolle. Mit diesen Variablen kann man bestimmte Systemparameter und -einstellungen für alle Programme gleich setzen.
Environmentvariablen kann man entweder von setzen oder in den Konfigurationsdateien der jeweiligen Shell, also in /etc/profile, /etc/bashrc und .profile im Falle der bash oder /etc/csh.login, /etc/csh.cshrc, .cshrc und .login im Falle der tcsh. In ersten Fall sind Änderung sofort aktiv, aber nur für Programme, die von der Shell aus gestartet werden, in der die Änderung vorgenommen wurde. Nachdem diese Shell (und alle Tochterprozesse) geschlossen wurde, ist alles wieder vergessen. Sinnvoll ist dies zum Experimentieren.
In zweiten Fall dagegen sind die Änderungen nach dem nächsten einloggen für alle Programme aktiv. Das gleiche gilt auch für alle nach den Änderungen gestarteten Shells. Alle vorher gestarteten Shell behalten die alten Werte.
Anmerkung: Environmentvariablen werden vom Mutterprozess zum Kindprozess vererbt. Änderungen in anderen Programmen können dabei nicht berücksichtigt werden, da sonst die Gefahr besteht, dass die Environmentvariablen verschiedener Nutzer sich beeinflussen können. Das gleiche gilt für Änderungen in des Konfigurationsdateien der Shells. Eine Ausnahme von dieser Regel ist es natürlich, wenn der Kindprozess selbst eine Shell ist und deshalb seine Konfigurationsdateien startet.
Anders als MacOS erwartet Linux ausführbare Dateien nur in bestimmten Verzeichnissen. Welche das sind stehen in dieser Variable. Die Liste von Pfade wird durch '':'' getrennt. Der Pfad ''.'' darf hierin auftauchen. Damit können Programme, die sich im aktuellen Pfad befinden immer direkt gestartet werden. Bei "normalen" User sollt der ''.''-Pfad immer drin sein. Bei root sollte er immer fehlen (damit man root nix unterjubeln kann).
Mit folgendem Kommando kann man eigene Pfade in seiner eigenen Umgebung zur PATH-Variable hinzufügen:Dabei ist zu beachten, dass die PATH-Variable von vorne nach hinten abgearbeitet wird und nur die erste Fundstelle zählt. Wenn sich also in obigem Beispiel ein Programm namens meins sowohl in /home/ich/meineProgramme also auch in /home/ich/proggis befindet, wird das aus /home/ich/meineProgramme genommen. Will man die Version von meins aus dem anderen Pfad benutzen, so muss man den vollen Pfad angeben: /home/ich/proggis/meines.
Gibt immer den aktuellen Pfad an (PWD=PrintWorkinDirectory). Ändert sich, wenn man (z.B. mit cd) das Verzeichnis wechselt
Nur wichtig für arbeiten auf der Kommandozeile, vor allem wenn man remote eingeloggt ist, d.h. über das Netz (z.B. mit telnet oder ssh). Es gibt verschiedene Standards f{r die Sonderzeichen, z.B. zur Cursorsteuerung usw. Die Variable TERM legt fest welchen Standard die Shell verwendet. Dieser muss kompatibel mit dem des Terminalprogrammes sein (als z.B. BetterTelent unter MacOS, oder dem xterm). Typische Werte sind xterm und Varianten davon (z.B. xterm-color) oder vt100. Die Name sind i.d.R. historisch gewachsen.
Der Name des Rechners.
Unter diesem Namen bist du beim System angemeldet.
In dieser Gruppe bist du beim System angemeldet.
Der Pfad deines Home-Verzeichnisses.
Die Shell die du gerade nutzt.
Manche Programme benötigen einen Editor, haben aber keinen eingebaut. Hier kann man angeben welchen Editor sie benutzen sollen. Wenn diese Variable leer ist, wird in der Regel der vi gestartet. Der vi gehört zum Urgestein von UNIX und ist daher garantiert immer da. Allerdings mit sehr kryptischer und umständlicher Handhabung.
Auf diesem Bildschirm geben X-Programme ihre GUI aus. Typsicherweise steht hier :0.0 wenn man unter X-arbeitet. Indem man DISPLAY auf rechner:0 umstellt, kann man das GUI auf den Computer rechner umlenkten, vorausgesetzt dieser, hat den Zugriffe auf den dortigen X-Server von deinem Rechner aus freigegeben. Mehr dazu in Umleitung eines X-Programmes.
geben die Prozessorarchitektur an. Damit kann sich eine Programm an die CPU-Architektur anpassen.
gibt das laufende Betriebssystem an. Das ist hilfreich, um verschieden UNIX-Varianten zu unterscheiden.
Sollte jemand hier eine wichtige Environmentvariable vermissen, so bitte ich, um eine mail,damit ich sie nachtragen kann.