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 ?"
« Die Funktion main Die Funktion main Zugriff auf die Umgebungsvariablen »

Aufrufparameter

In der Variablen argc steht nach dem Start, wieviele Parameter bei Aufruf des Programmes übergeben wurden. Dieser Wert ist immer mindestens 1, da auch der Name, unter dem das Programm aufgerufen wurde, als Parameter zählt. Die Variable argv ist ein Array von Strings. Die Programmparameter werden von der Shell an den Leerzeichen zerlegt und dann einzeln an das Programm weitergereicht. Beispiel:

tudochwas -f huhu lol*

Der Wildcard von lol* wird bekanntermaßen von der Shell ausgewertet. Wenn im aktuellen Verzeichnis die Dateien lolita, lolli und lonzo stehen, sind die Parameter von main() folgendermaßen belegt:

In argc steht eine 5. Im Element argv[0] findet sich der Name des Programmes inklusive Pfad, in diesem Fall ./tudochwas. Da tudochwas aus dem aktuellen Verzeichnis gestartet wurde und kein Pfad angegeben wurde, bemühte die Shell die Variable PATH. Darin fand sie dann den Pfad . und setzte ihn vor den Programmnamen. argv[1] enthält die Option -f und argv[2] den Parameter »huhu«. Die weiteren Elemente von argv hängen von den Dateien im aktuellen Verzeichnis ab. Da auf lol* sowohl lolita als auch lolli passen, füllen diese die nächsten zwei argv-Elemente.

Da das erste Element in argv immer der Name ist, mit dem das Programm aufgerufen wurde, kann man dem Programm Optionen durch den Befehlsnamen mitgeben. So entspricht beispielsweise der Befehl uncompress dem Aufruf compress -d. Das erreichen Sie, indem ein Link namens uncompress auf compress erzeugen. So ein Link kostet unter UNIX nur einen Verzeichniseintrag mehr. Das Programm prüft beim Start, ob es unter dem Namen uncompress aufgerufen wurde und fügt in diesem Fall die Option -d hinzu.

An den letzten Argumenten erkennt man, dass der Stern unter UNIX von der Shell aufgelöst wird. Dadurch ist erreicht, dass alle Programme von Haus aus die Wildcards der Shell gleichermaßen interpretieren, da sie sie selbst nicht auswerten.

Das folgende kleine Programm zeigt seine Aufrufparameter an:

[Zeigt die Aufrufparameter]
int main(int argc, char **argv)
{
int i;
  for (i=0; i<argc; i++) {
    puts(argv[i]);
  }
  return 0;
}

Auch der Rückgabewert der Funktion main() ist von Bedeutung, da dieser an den Aufrufer zurückgegeben wird. Als Konvention gilt eine 0 als Hinweis, dass das Programm fehlerfreier ablief. Alle anderen Werte werden als Fehlermeldungen interpretiert. Wenn Fehler mitten im Programm entstehen, ist es oft sehr umständlich, wieder zur Funktion main() zurückzukehren. Hier hilft die Funktion exit(). Sie beendet das Programm und der Übergabeparameter wird als Rückgabewert an den Aufrufer des Programms weitergereicht.



« Die Funktion main | Die Funktion main | Zugriff auf die Umgebungsvariablen »
 
 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