Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
Shell-Programmierung von Jürgen Wolf
Einführung, Praxis, Referenz
Buch: Shell-Programmierung

Shell-Programmierung
782 S., mit CD, 44,90 Euro
Rheinwerk Computing
ISBN 3-89842-683-1
gp Kapitel 1 Einführung
  gp 1.1 Voraussetzungen an den Leser
    gp 1.1.1 Zielgruppe
    gp 1.1.2 Notation
  gp 1.2 Was ist eine Shell?
  gp 1.3 Hauptanwendungsgebiet
    gp 1.3.1 Was ist ein Shellscript?
    gp 1.3.2 Vergleich mit anderen Sprachen
  gp 1.4 Kommando, Programm oder Shellscript?
    gp 1.4.1 Shell-eigene Kommandos (Builtin-Kommando)
    gp 1.4.2 Aliase in der Shell
    gp 1.4.3 Funktionen in der Shell
    gp 1.4.4 Shellscripts (Shell-Prozeduren)
    gp 1.4.5 Programme (binär)
  gp 1.5 Die Shell-Vielfalt
    gp 1.5.1 ksh (Korn-Shell)
    gp 1.5.2 Bash (Bourne-Again-Shell)
    gp 1.5.3 zsh (Z-Shell)
    gp 1.5.4 ash (A-Shell)
    gp 1.5.5 rbash, rzsh (Restricted Shell)
    gp 1.5.6 tcsh (TC-Shell)
    gp 1.5.7 Welche Shell-Variante wird in diesem Buch verwendet?
    gp 1.5.8 rsh und ssh
  gp 1.6 Betriebssysteme
  gp 1.7 Crashkurs: einfacher Umgang mit der Kommandozeile
    gp 1.7.1 Grundlegende Befehle
    gp 1.7.2 Der Umgang mit Dateien
    gp 1.7.3 Der Umgang mit Verzeichnissen
    gp 1.7.4 Datei- und Verzeichnisnamen
    gp 1.7.5 Gerätenamen
    gp 1.7.6 Dateiattribute
  gp 1.8 Shellscripts schreiben und ausführen
    gp 1.8.1 Der Editor
    gp 1.8.2 Der Name des Shellscripts
    gp 1.8.3 Ausführen
    gp 1.8.4 Hintergrundprozess starten
    gp 1.8.5 Ausführende Shell festlegen
    gp 1.8.6 Kommentare
    gp 1.8.7 Stil
    gp 1.8.8 Ein Shellscript beenden
    gp 1.8.9 Testen und Debuggen von Shellscripts
    gp 1.8.10 Shellscript, das ein Shellscript erstellt und ausführt
  gp 1.9 Vom Shellscript zum Prozess
    gp 1.9.1 Ist das Shellscript ein Prozess?
    gp 1.9.2 Echte Login-Shell?
  gp 1.10 Datenstrom
    gp 1.10.1 Ausgabe umleiten
    gp 1.10.2 Standardfehlerausgabe umleiten
    gp 1.10.3 Eingabe umleiten
    gp 1.10.4 Pipes
    gp 1.10.5 Ein T-Stück mit tee
    gp 1.10.6 Ersatzmuster (Wildcards)
    gp 1.10.7 Brace Extension (Bash und Korn-Shell only)
    gp 1.10.8 Muster-Alternativen (Bash und Korn-Shell only)
    gp 1.10.9 Tilde-Expansion (Bash und Korn-Shell only)
  gp 1.11 Empfehlung

Kapitel 1 Einführung

Als Autor eines Fachbuchs steht man am Anfang immer vor der Frage, wo man anfangen soll. Fängt man bei Null an, so wird eine Menge Raum für interessantere Aufgabenschwerpunkte verschenkt. Fordert man dem Leser hingegen am Anfang gleich zu viel ab, läuft man Gefahr, dass dieses Buch schnell im Regel verstaubt oder zur Versteigerung angeboten wird.


Rheinwerk Computing

1.1 Voraussetzungen an den Lesedowntop

Da Sie sich entschieden haben, mit der Shellscript-Programmierung anzufangen, kann ich davon ausgehen, dass Sie bereits ein wenig mit Linux bzw. einem UNIX-artigen System vertraut sind und damit schon ein wenig Zeit verbracht haben. Vielleicht haben Sie auch schon Erfahrungen mit anderen Programmiersprachen gemacht, was Ihnen hier auch einen gewissen Vorteil einbringt. Vorhandene Programmiererfahrungen sind allerdings keine Voraussetzung für dieses Buch, welches so konzipiert wurde, dass selbst ein Anfänger recht einfach und schnell ans Ziel kommt. Dies deshalb, weil die Shellscript-Programmierung im Gegensatz zu anderen Programmiersprachen wie bspw. C/C++ oder Java erheblich einfacher zu erlernen ist (auch wenn Sie beim ersten Durchblättern des Buchs einen anderen Eindruck haben).

Aber was heißt »bereits mit Linux bzw. UNIX ein wenig vertraut«? Hierzu einige Punkte, die ich einfach von Ihnen erwarten muss – ansonsten könnte der Buchtitel gleich »Linux/UNIX – Eine Einführung« heißen.

gp  An- und Abmelden am System
gp  Arbeiten mit einem (beliebigen) Texteditor (mehr dazu in Abschnitt 1.8)
gp  Umgang mit Dateien und Verzeichnissen – sprich der Umgang mit den grundlegenden Kommandos wie bspw. cp, pwd, ls, cd, mv, mkdir, rmdir, cat ... (sind diese Kenntnisse nicht vorhanden, so ist das nicht weiter schlimm, denn alle Kommandos werden im Buch mehr als einmal verwendet und auch in einem Crashkurs kurz beschrieben).
gp  Zugriffsrechte – wer bin ich, was darf ich und welche Benutzer gibt es? Oder einfach: Was bedeuten die »komischen« Zeichen rwx bei den Dateien und Verzeichnissen? (Auch hierzu gibt es eine kurze Einführung).
gp  Verzeichnisstruktur – wo bin ich hier und wo finde ich was? Wenn Sie nicht genau wissen, wo Sie »zu Hause« sind oder wie Sie dorthin kommen, wird Ihnen die ganze Umgebung ziemlich fremd vorkommen (aber auch ein Immigrant kann sich einleben).
gp  Grundlegende Kenntnisse eines Dateisystems – wo ist meine Festplatte, CD–ROM oder das Diskettenlaufwerk, und vor allem: Wie werden diese bezeichnet? Wer immer noch nach einem Laufwerk A, C oder D sucht, dürfte mit diesem Buch wieder einen Kandidaten für Ebay gefunden haben.
gp  Kommunikation – das Buch behandelt auch netzwerkspezifische Dinge, weshalb Sie zumindest den Weg in den »WeltWeitenWälzer« gefunden und den Umgang mit der elektronischer Post bewältigt haben sollten.

Hinweis   Sofern Sie mit einigen Shell-Kommandos, welche bei den Scripts verwendet werden, nicht zurechtkommen oder diese nicht kennen, finden Sie hier auch eine Linux-UNIX-Kommandoreferenz, wo Ihnen zumindest die Grundlagen (die gängigsten Optionen) erläutert werden. Detailliertere Informationen bleiben selbstverständlich weiterhin den Manual-Pages (man-Pages) vorbehalten.



Rheinwerk Computing

1.1.1 Zielgruppe  downtop

Mit diesem Buch will ich eine recht umfangreiche und keine spezifische Zielgruppe ansprechen. Profitieren von der Shellscript-Programmierung kann jeder, vom einfachen Linux-UNIX-Anwender bis hin zum absolut überbezahlten (oder häufig auch schlecht bezahlten) Systemadministrator.

Einfach jeder, der mit Linux/UNIX zu tun hat bzw. vor hat, damit etwas mehr anzufangen. Ganz besonders gut eignet sich die Shellscript-Programmierung auch für den Einstieg in die Programmierer-Welt. Sie finden hier viele Konstrukte (Schleifen, Bedingungen, Verzweigungen etc.), welche auch in den meisten anderen Programmiersprachen in ähnlicher Form verwendet werden (wenn auch häufig die Syntax ein wenig anders ist).

Da Sie sehr viel mit den »Bordmitteln« (Kommandos/Befehle) des Betriebssystems arbeiten, bekommen Sie auch ein gewisses Gefühl für Linux-UNIX. So haftet dem Shellscript-Programmierer häufig noch ein Guru-Image an, einfach weil dieser tiefer als viele GUI-verwöhnte Anwender in die Materie einsteigen muss. Trotzdem ist es leichter, die Shellscript-Programmierung zu erlernen, als irgendeine andere Hochsprache wie bspw. C, C++, Java oder C#.

Die primäre Zielgruppe aber bildet hierbei ganz klar der Systemadministrator und/oder der Webmaster (mit SSH-Zugang). Als Systemadministrator von Linux-UNIX-Systemen ist es häufig Grundvoraussetzung, sich mit der Shellscript-Programmierung auseinander zu setzen. Letztendlich ist ja auch jeder einzelne Linux-UNIX-(Heim-)Benutzer mit einem PC ein Systemadministrator und profitiert enorm von den neu hinzugewonnenen Kenntnissen.


Rheinwerk Computing

1.1.2 Notation  toptop

Die hier verwendete Notation ist recht einfach und zum Teil eindeutig aufgebaut. Wenn die Eingabe der Tastatur (bzw. einer Tastatur-Kombination) beschrieben wird, wird das mit einem entsprechenden Tasten-Zeichen gekennzeichnet. Wenn Sie bspw. (Strg)+(C) lesen, so bedeutet dies, dass hier die Tasten »Steuerung« (Control oder auch Ctrl) und »C« gleichzeitig gedrückt wurden, finden Sie (ESC) vor, dann ist das Drücken der Escape-Taste gemeint.

Sie werden sehr viel mit der Shell arbeiten. Als Shell-Prompt des normalen Users in der Kommandozeile wird hierfür you@host > verwendet. Dieses Prompt müssen Sie also nicht bei der Eingabe mit angeben (logisch, aber sollte erwähnt werden). Wird hinter diesem Shell-Prompt die Eingabe in fetten Zeichen geschrieben, so handelt es sich um eine Eingabe in der Kommandozeile, die vom Benutzer (meistens von Ihnen) vorgenommen und mit einem (ENTER)-Tastendruck bestätigt wurde.

you@host > Eine_Eingabe_in_der_Kommandozeile

Folgt hinter dieser Zeile eine weitere Zeile ohne das Shell-Prompt you@host > und nicht in fetter Schrift, dann handelt es sich in der Regel um die erzeugte Ausgabe der zuvor getätigten Eingabe (was im Buch meistens den Aktionen Ihres Shellscripts entspricht).

you@host > Eine_Eingabe_in_der_Kommandozeile
Die erzeugte Ausgabe

Finden Sie stattdessen das Zeichen # als Shell-Prompt wieder, dann handelt es sich um ein Prompt des Superusers (root). Selbstverständlich setzt dies voraus, dass Sie auch die entsprechenden Rechte haben. Dies ist nicht immer möglich und wird daher in diesem Buch so selten wie möglich eingesetzt.

you@host > whoami
nomaler_User
you@host > su
Passwort: ********
# whoami
root
# exit
you@host > whoami
normaler_User


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
 << zurück
  
  Zum Katalog
Zum Katalog: Shell-Programmierung
Shell-Programmierung
bestellen
 Buchtipps
Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-Server






 Linux-Server


Zum Katalog: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Katalog: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Katalog: Linux Handbuch






 Linux Handbuch


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2005
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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de