Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Programmabbruch UNIX anwenden Die Shell »

Umgebungsvariablen

UNIX stellt systemweite Variablen zur Verfügung. Jeder Prozess übergibt bei Start eines Kindprozesses auch die Umgebungsvariablen. Jeder Prozess kann den Inhalt der Variablen ändern oder neue hinzufügen. Allerdings können die Änderungen nur von den nachfolgenden Prozessen zur Kenntnis genommen werden. Die Shell bietet eine einfache Möglichkeit, Variablen zu setzen und abzufragen. In Shellskripten werden sie zum Festhalten von Ergebnissen verwendet. Aber nur die Variablen, die mit dem Kommando export bzw. bei der C-Shell setenv explizit in die Umgebungsvariablen gestellt werden, werden auch an die Kindprozesse weitergeleitet.

Man definiert eine Variable, indem man ihr einen Inhalt zuweist. Entsprechend wird sie wieder entfernt, wenn man ihr einen leeren Inhalt zuweist:Im Folgenden wird die Syntax der Bourne Shell und ihrer kompatiblen Nachfolger verwendet. Die C-Shell hat eine etwas andere Syntax.

gaston> HUGO="schau an"
gaston>

Es darf kein Leerzeichen zwischen Variablenname, Gleichheitszeichen und Zuweisungsobjekt auftauchen. Die Variable HUGO wird angelegt, und ihr Wert ist ab diesem Augenblick die Zeichenkette »schau an«. Um den Inhalt einer Variablen auszulesen, stellt man ein Dollarzeichen voran:

gaston> echo $HUGO
schau an
gaston>

Der echo-Befehl führt zur Ausgabe der Wörter »schau an«. Die einschließenden Anführungszeichen werden nicht in der Variablen gespeichert. Übrigens müssen Variablennamen nicht zwingend in Großbuchstaben gesetzt sein. Da die vom System vorgegebenen Variablennamen groß sind, halten sich auch die meisten Anwender an diese Vorgabe. Aus Gründen der Übersichtlichkeit sollte man nicht ohne zwingenden Grund eine andere Konvention einführen.

Die Tabelle zeigt einige vorbelegte Variablen.

[ Vorbelegte Environmentvariablen]L|L Variable & Bedeutung
HOME & Heimatverzeichnis des Benutzers
PATH & Verzeichnisse, die nach Programmen durchsucht werden
PS1 PS2 & Promptzeichen
IFS & Alle Zeichen, die wie ein Leerzeichen wirken sollen
PWD & Die Variable hält immer den Wert, den pwd liefert

Die Variable PATH enthält die Pfade, auf denen auf dieser Maschine die ausführbaren Programme zu finden sind. Die einzelnen Pfade sind durch einen Doppelpunkt voneinander getrennt. Die Variable muss nur selten geändert werden, da normalerweise die Startdateien für Programme an immer die gleichen Stellen installiert werden. Am interessantesten ist die Frage, ob der Punkt auch als Verzeichnis aufgelistet ist. Denn nur dann werden Programme aus dem aktuellen Verzeichnis auch gestartet, ohne einen Pfad anzugeben. In sicherheitskritischen Umgebungen wird der Punkt gern weggelassen, um es Trojanischen PferdenEin Trojanisches Pferd ist ein Programm, das unter dem Namen eines anderen Programms auf den Rechner geschmuggelt wird. Meist steckt die Absicht dahinter, Programme unter fremden Rechten ausführen zu lassen oder Passwörter auszuspionieren. schwerer zu machen. In solch einem Fall muss das Programm im aktuellen Arbeitsverzeichnis mit Namen prog durch ./prog aufgerufen werden. Die Reihenfolge der Verzeichnisse in der Variablen PATH ist ebenfalls von Interesse, da in dieser Reihenfolge die Verzeichnisse durchsucht werden, ob das aufgerufene Programm dort zu finden ist. Wird eines gefunden, wird es gestartet und die Suche abgebrochen.

Da man bei Programmen, die im Pfad liegen, nur den Namen des Kommandos angibt, will man manchmal wissen, wo das Programm tatsächlich liegt bzw. welches Programm man ausführt, wenn mehrere Programme gleichen Namens in den Pfaden stehen könnten. Zu diesem Zweck gibt es die Programme which und whereis. Man gibt ihnen den Namen des Programms mit, und sie durchsuchen alle Pfade und geben das Programm mit vollständigem Pfad an.

PS1 ist der Prompt, also die Zeichenkette, die im Normalfall links neben dem Cursor steht. Standardmäßig steht dort für den normalen Anwender ein Dollarzeichen ($) und für den Administrator ein Hashzeichen (#). Inzwischen ist es aber Mode geworden, dort alle möglichen Informationen abzulegen. Dadurch füllt auf manchem System der Prompt zwei Drittel der Zeile. Andererseits ist es sicher nicht verkehrt, wenn man darüber informiert wird, wer man eigentlich ist und wo man sich befindet. So bekommt man auf meiner Maschine auf den Befehl echo $PS1 die Antwort:

u@h:w >

Die Fähigkeit, den Anwender (u), den lokalen Rechner (h) und das aktuelle Verzeichnis (w) im Prompt anzuzeigen, ist allerdings spezifisch von der Shell abhängig. So sieht der Prompt neben dem Cursor so aus:

arnold@gaston: /my/texte/tex/buch >

Die Variable PS2 bestimmt den Sekundärprompt. Er wird erzeugt, wenn das angefangene Kommando nach dem Return noch nicht beendet ist. Dies merkt die Shell bei Anführungszeichen oder Klammern, die gesetzt wurden, aber deren Gegenstück nicht eingegeben wurden. PS2 ist normalerweise ein einfaches Größerzeichen und wird auch selten verändert. Ein Beispiel finden Sie im folgenden Abschnitt.



« Programmabbruch | UNIX anwenden | Die Shell »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de