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 ?"
« Ein- und Ausgaben aus Programmierung von Shellskripten Perl »

Start und Umgebung von Skripten

Angenommen in der Datei skripttest steht ein Shellskript, das nur darauf wartet, ausgeführt zu werden. Um es zu starten, können Sie verschiedene Wege gehen. Der erste Weg wurde schon beschrieben. Sie ändern die Dateirechte auf ausführbar und starten es wie ein normales Programm.

gaston> skripttest

Der zweite Weg, ein Skript auszuführen, ist indem Sie eine Shell aufrufen und ihr die Datei als Parameter übergeben. Tatsächlich sind diese beiden Arten, ein Shellskript zu starten, äquivalent. Auch bei dem direkten Start des Dateinamens wird eine neue Shell gestartet, die die Datei skripttest interpretiert.

gaston> sh skripttest

Mit dem Kommando . (Punkt) und dem Dateinamen kann die Datei skripttest von der aktuellen Shell ausführen lassen.

gaston> . skripttest

Der Unterschied zwischen dem Aufruf per Punkt oder per Subshell ist wichtig, da ein mit Punkt aufgerufenes Skript keine neue Shell startet. Stattdessen interpretiert die laufende Shell das Skript. Nur so kann ein Skript den Zustand der aktuellen Shell verändern kann. Wechselt das Skript das Verzeichnis, legt es Umgebungsvariablen an oder verändert es sie, ist dies nach Ausführung des Skripts in der Arbeitsshell erfolgt. Wird dagegen eine Tochtershell gestartet, wirken sich die Änderungen nur dort aus und hat auf die aktuelle Shell keinerlei Auswirkungen. Anders ausgedrückt: Soll ein Skript Variablen setzen, die in der aktuellen Shell später gebraucht werden, muss dieses Skript zwingend mit dem Punkt aufgerufen werden.

Die Variablen einer Shell werden normalerweise nicht an Kindprozesse weitergegeben. Wenn in einem Skript eine Variable gesetzt wird, die von einem Kindprozess gelesen werden soll, muss die Variable exportiert werden. Beispiel:

MYENV="Tolles Wetter"
export MYENV

In der Kornshell und der bash kann das Setzen und Exportieren der Variable in einem Kommandoschritt ausgeführt werden.

export MYENV="Tolles Wetter"

Da dies nicht unter der Standard Bourne-Shell funktioniert und Skripten sehr oft aus Kompatibilitätsgründen mit der /bin/sh gestartet werden, ist es sicherer, Zuweisung und Export getrennt zu halten.

In der ersten Zeile eines Skripts kann festgelegt werden, welche Shell bzw. welcher Interpreter für diese Datei geladen werden soll. Das erste Zeichen hinter dem Kommentarzeichen ist ein Ausrufezeichen. Dann folgt mit komplettem Pfad der Interpreter. Beispiel:

#!/bin/sh

Dies ist wichtig, weil das Skript eventuell von jemandem gestartet wird, der vielleicht die C-Shell verwendet, die eine andere Syntax hat.



« Ein- und Ausgaben aus | Programmierung von Shellskripten | Perl »
 
 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