Klassische Shell-Programmierung

Book description

Shell-Skript-Programmierung ist das mächtige Werkzeug zur vollen Entfaltung der Power von Unix. Shell-Skripten sind unerlässlich für Unix-User und Systemadministratoren. Mit ihnen werden Automatisierungsprozesse in Unix elegant und zeitsparend erstellt.

Um Shell-Skripten gut schreiben zu können, braucht man mehr als lediglich das Wissen um die Shell-Sprache. Man muss ebenfalls vertraut sein mit den zahlreichen Unix-Programmen. Das vorliegende Buch lehrt beides: die Shell-Sprache wie auch den geschickten Einsatz und das Zusammenspiel vieler Unix-Werkzeuge. Darüber hinaus wird dem Leser mit Klassischer Shell-Programmierung ein tiefer Einblick in Unix gewährt.

Mit diesem Buch lernt der Leser, wie exzellente Skripten erstellt werden und wie Fallen umgangen werden, die Skripten zu schlechten Skripten werden lassen. Damit spart der Leser viele Stunden überflüssiger Arbeit.

Sie lernen nicht nur, wie Sie nützliche Shell-Skripten schreiben, sondern auch, wie Sie die Shell schnell, zuverlässig und portabel anpassen, um das Beste aus jedem System herauszuholen. Diese Fertigkeit ist wichtig für jeden, der Unix- oder Linux-Systeme betreibt und wartet.

Die wichtigsten Themenbereiche, die in diesem Buch behandelt werden:

  • Einstieg in die Skript-Sprache

  • Arbeit mit Textdaten: Suchen und Ersetzen, Sortieren, Drucken, Werkzeuge

  • Arbeit mit Shell-Variablen

  • Ein- und Ausgabe, Dateien und Befehlsauswertung

  • Erstellung von Produktionsskripten

  • Die Programmiersprache awk

  • Arbeiten mit Dateien: Auflisten, lange Dateilisten, Dateimetadaten, Dateien suchen, Dateien vergleichen

  • Rechtschreibkontrollprogramm aus vorhandenen Unix-Werkzeugen aufbauen

  • Prozesse: erzeugen, auflisten, steuern, löschen, Prozess-Accounting, verzögerte Terminierung

  • Shell-Portabilität und Erweiterung

  • Sichere Shell-Skripten

  • Table of contents

    1. Klassische Shell-Programmierung
      1. Vorwort
      2. Einführung
        1. Unsere Zielgruppe
        2. Was Sie bereits wissen sollten
        3. Zusammenfassung der einzelnen Kapitel
        4. In diesem Buch verwendete Konventionen
        5. Code-Beispiele
        6. Unix-Werkzeuge für Windows-Systeme
        7. Danksagungen
      3. 1. Hintergrund
        1. 1.1 Unix-Geschichte
        2. 1.2 Prinzipien für Software-Werkzeuge
        3. 1.3 Zusammenfassung
      4. 2. Zum Einstieg
        1. 2.1 Skriptsprachen im Vergleich mit kompilierten Sprachen
        2. 2.2 Wozu ein Shell-Skript einsetzen?
        3. 2.3 Ein einfaches Skript
        4. 2.4 Eigenständige Skripten: #! in der ersten Zeile
        5. 2.5 Grundlegende Shell-Konstrukte
        6. 2.6 Auf Shell-Skript-Argumente zugreifen
        7. 2.7 Einfache Überwachung der Ausführung
        8. 2.8 Internationalisierung und Lokalisierung
        9. 2.9 Zusammenfassung
      5. 3. Suchen und Ersetzen
        1. 3.1 Nach Text suchen
        2. 3.2 Reguläre Ausdrücke
        3. 3.3 Mit Feldern arbeiten
        4. 3.4 Zusammenfassung
      6. 4. Werkzeuge zur Textverarbeitung
        1. 4.1 Text sortieren
        2. 4.2 Duplikate löschen
        3. 4.3 Absätze umformatieren
        4. 4.4 Zeilen, Wörter und Zeichen zählen
        5. 4.5 Drucken
        6. 4.6 Die erste und die letzte Zeile extrahieren
        7. 4.7 Zusammenfassung
      7. 5. Mit Pipelines Erstaunliches leisten
        1. 5.1 Daten aus strukturierten Textdateien extrahieren
        2. 5.2 Strukturierte Daten für das Web
        3. 5.3 Beim Kreuzworträtsel schummeln
        4. 5.4 Wortlisten
        5. 5.5 Tag-Listen
        6. 5.6 Zusammenfassung
      8. 6. Variablen, Entscheidungen treffen und Aktionen wiederholen
        1. 6.1 Variablen und Arithmetik
        2. 6.2 Exit-Status
        3. 6.3 Die case-Anweisung
        4. 6.4 Schleifen
        5. 6.5 Funktionen
        6. 6.6 Zusammenfassung
      9. 7. Eingabe und Ausgabe, Dateien und Befehlsauswertung
        1. 7.1 Standardeingabe, Standardausgabe und Standardfehlerausgabe
        2. 7.2 Zeilen lesen mit read
        3. 7.3 Mehr über Umleitungen
        4. 7.4 Die vollständige Geschichte von printf
        5. 7.5 Tilde-Erweiterung und Wildcards
        6. 7.6 Befehlsersetzung
        7. 7.7 Quotierung
        8. 7.8 Auswertungsreihenfolge und eval
        9. 7.9 Integrierte Befehle
        10. 7.10 Zusammenfassung
      10. 8. Produktionsskripten
        1. 8.1 Pfadsuche
        2. 8.2 Software-Builds automatisieren
        3. 8.3 Zusammenfassung
      11. 9. awk bis zum Abwinken
        1. 9.1 Die awk-Kommandozeile
        2. 9.2 Das awk-Programmiermodell
        3. 9.3 Programm-Elemente
        4. 9.4 Datensätze und Felder
        5. 9.5 Muster und Aktionen
        6. 9.6 Einzeilige Programme in awk
        7. 9.7 Anweisungen
        8. 9.8 Benutzerdefinierte Funktionen
        9. 9.9 Stringfunktionen
        10. 9.10 Numerische Funktionen
        11. 9.11 Zusammenfassung
      12. 10. Arbeiten mit Dateien
        1. 10.1 Dateien auflisten
        2. 10.2 Änderungsdaten mit touch aktualisieren
        3. 10.3 Temporäre Dateien erzeugen und verwenden
        4. 10.4 Dateien suchen
        5. 10.5 Befehle ausführen: xargs
        6. 10.6 Informationen über den Speicherplatz im Dateisystem
        7. 10.7 Dateien vergleichen
        8. 10.8 Zusammenfassung
      13. 11. Ein ausführliches Beispiel: Das Zusammenführen von Benutzerdatenbanken
        1. 11.1 Das Problem
        2. 11.2 Die Passwortdateien
        3. 11.3 Zusammenführen von Passwortdateien
        4. 11.4 Ändern der Datei-Eigentümerschaft
        5. 11.5 Andere Probleme aus dem wirklichen Leben
        6. 11.6 Zusammenfassung
      14. 12. Rechtschreibprüfung
        1. 12.1 Das Programm spell
        2. 12.2 Der Original-Unix-Prototyp zur Rechtschreibprüfung
        3. 12.3 Verbesserungen mit ispell und aspell
        4. 12.4 Eine Rechtschreibprüfung in awk
        5. 12.5 Zusammenfassung
      15. 13. Prozesse
        1. 13.1 Prozesserzeugung
        2. 13.2 Prozessauflistung
        3. 13.3 Prozesssteuerung und -löschung
        4. 13.4 Verfolgung von Systemaufrufen
        5. 13.5 Prozess-Accounting
        6. 13.6 Verzögerte Ausführung von Prozessen
        7. 13.7 Das/proc-Dateisystem
        8. 13.8 Zusammenfassung
      16. 14. Fragen der Shell-Portabilität und Erweiterungen
        1. 14.1 Stolpersteine
        2. 14.2 Der bash-Befehl shopt
        3. 14.3 Gebräuchliche Erweiterungen
        4. 14.4 Download-Informationen
        5. 14.5 Andere erweiterte Shells im Bourne-Stil
        6. 14.6 Shell-Versionen
        7. 14.7 Shell-Initialisierung und -Beendigung
        8. 14.8 Zusammenfassung
      17. 15. Sichere Shell-Skripten: Ein Einstieg
        1. 15.1 Tipps für sichere Shell-Skripten
        2. 15.2 Eingeschränkte Shell
        3. 15.3 Trojanische Pferde
        4. 15.4 Setuid bei Shell-Skripten: Eine schlechte Idee
        5. 15.5 ksh93 und privilegierter Modus
        6. 15.6 Zusammenfassung
      18. A. Manpages schreiben
        1. Manpages für pathfind
        2. Syntaxüberprüfung von Manpages
        3. Manpage-Formatkonvertierung
        4. Manpage-Installation
      19. B. Dateien und Dateisysteme
        1. Was ist eine Datei?
        2. Wie werden Dateien benannt?
        3. Was steht in einer Unix-Datei?
        4. Das hierarchische Dateisystem von Unix
        5. Wie groß können Unix-Dateien sein?
        6. Unix-Dateiattribute
        7. Unix-Datei-Eigentümerschaft und Privatsphäre
        8. Konventionen für Unix-Dateierweiterungen
        9. Zusammenfassung
      20. C. Wichtige Unix-Befehle
        1. Shells und integrierte Befehle
        2. Textmanipulation
        3. Dateien
        4. Prozesse
        5. Verschiedene Programme
      21. D. Bibliografie
        1. Handbücher für Unix-Programmierer
        2. Programmieren mit der Unix-Mentalität
        3. Awk und Shell
        4. Standards
        5. Sicherheit und Kryptografie
        6. Unix-Interna
        7. O'Reilly Bücher
        8. Sonstige Bücher
      22. Glossar
      23. Über die Übersetzerin
      24. Kolophon

    Product information

    • Title: Klassische Shell-Programmierung
    • Author(s): Arnold Robbins, Nelson H. F. Beebe
    • Release date: January 2006
    • Publisher(s): O'Reilly Verlag
    • ISBN: 9783897214415