O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Einführung in die bash-Shell

Book Description

Das Buch behandelt bash, eine der neusten und mächtigsten UNIX-Shells. Die "Bourne Again Shell" der Free Software Foundation ist die Shell für Linux und Mac OS X und auch für andere Unix-Systeme frei verfügbar. Mit diesem Buch erfährt der Leser, wie er sowohl die bash als mächtige Arbeitsumgebung nutzen und wie er mit bash auch Shell-Skripte schreiben kann.

Das Lob für die englischsprachigen Vorgänger-Auflagen war immens. Endlich gibt es diesen Klassiker jetzt auch in deutscher Sprache. Die aktuelle Auflage behandelt bash 3.0, ist aber auch auf die früheren Versionen anwendbar. Das Buch richtet sich an den bash-Anfänger, aber auch dem erfahrenen Unixer werden zahlreiche Aha-Erlebnis beschert.

Aus dem Inhalt:

  • Das Bearbeiten von Kommandozeilen

  • Mit bash die Umgebung anpassen

  • Einführung in die Shell-Programmierung

  • Kontrollfluss-Konstrukte

  • Kommandozeilen-Optionen und typisierte Variablen

  • Prozess-Behandlung

  • Fehlersuche in Shell-Programmen

  • bash administrieren

  • Shell-Skripte schreiben

  • Troubleshooting

  • Table of Contents

    1. Einführung in die bash-Shell
      1. Vorwort
        1. bash-Versionen
        2. bash-Eigenschaften im Überblick
        3. Zielgruppe
        4. Codebeispiele
        5. Kapitelübersicht
        6. Typografische Konventionen
        7. Verwendung der Codebeispiele
        8. Danksagung zur ersten Auflage
        9. Danksagung zur zweiten Auflage
        10. Danksagung zur dritten Auflage
      2. 1. bash-Grundlagen
        1. Was ist eine Shell?
        2. Der Rahmen dieses Buchs
        3. Geschichte der UNIX-Shells
          1. Die Bourne-Again-Shell
          2. bash-Eigenschaften
        4. bash besorgen
        5. Interaktives Benutzen der Shell
          1. Befehle, Argumente und Optionen
        6. Dateien
          1. Verzeichnisse
            1. Das Arbeitsverzeichnis
            2. Tilde-Notation
            3. Wechseln des Arbeitsverzeichnisses
          2. Dateinamen, Platzhalter und Pfadnamenserweiterung
          3. Klammererweiterung
        7. Ein- und Ausgabe
          1. Standardein-/ausgabe
          2. Umleitung der Ein-/Ausgabe
          3. Pipelines
        8. Hintergrund-Jobs
          1. Ein-/Ausgabe im Hintergrund
          2. Hintergrund-Jobs und Prioritäten
        9. Sonderzeichen und Quotierung
          1. Quotierung
          2. Backslash als Escape-Zeichen
          3. Quotieren von Anführungszeichen
          4. Fortsetzungszeilen
          5. Steuerungstasten
        10. Der help-Befehl
      3. 2. Kommandozeilen bearbeiten
        1. Bearbeitung von Kommandozeilen aktivieren
        2. Die Befehlsspeicher-Liste
        3. Emacs-Bearbeitungsmodus
          1. Grundlegende Befehle
          2. Befehle auf Wortebene
          3. Befehle auf Zeilenebene
          4. Springen in der Befehlsspeicher-Liste
          5. Textvervollständigung
          6. Verschiedene weitere Befehle
        4. vi-Bearbeitungsmodus
          1. Grundlegende Befehle im Steuermodus
          2. Text eingeben und ändern
          3. Löschbefehle
          4. Befehle zum Finden von Zeichen
          5. Verschiedene andere Befehle
        5. Der Befehl fc
        6. Befehlsspeicher-Erweiterung
        7. readline
          1. Die Startup-Datei zu readline
            1. readline-Variablen
          2. Tastenbelegungen mit bind
        8. Tastatur-Gewohnheiten
      4. 3. Anpassen der Umgebung
        1. Die Dateien .bash_profile, .bash_logout und .bashrc
        2. Aliase
        3. Optionen
          1. shopt
        4. Shell-Variablen
          1. Variablen und Quotierung
          2. Eingebaute Variablen
            1. Bearbeitungsmodus-Variablen
            2. Mail-Variablen
            3. Prompt-Variablen
            4. Befehlssuchpfad
            5. Befehl-Hashing
            6. Verzeichnissuchpfad und -variablen
            7. Verschiedene andere Variablen
        5. Anpassungen und Unterprozesse
          1. Umgebungsvariablen
            1. Terminal-Typen
            2. Andere häufige Variablen
          2. Die Umgebungsdatei
        6. Hinweise zur Anpassung
      5. 4. Einfache Shell-Programmierung
        1. Shell-Skripten und Funktionen
          1. Funktionen
        2. Shell-Variablen
          1. Positionsparameter
            1. Positionsparameter in Funktionen
          2. Lokale Variablen in Funktionen
          3. Quotieren mit $@ und $*
          4. Mehr über die Syntax von Variablen
        3. String-Operatoren
          1. Syntax von String-Operatoren
          2. Muster und Mustervergleiche
          3. Der Längenoperator
          4. Erweiterte Mustervergleiche
        4. Befehlsersetzung
        5. Erweiterte Beispiele: pushd und popd
      6. 5. Kontrollfluss
        1. if/else
          1. Exit-Status
          2. Return
          3. Kombinationen von mehreren Exit-Status
          4. Tests von Bedingungen
            1. String-Vergleiche
            2. Testen von Dateiattributen
          5. Ganzzahlige Bedingungen
        2. for
        3. case
        4. select
        5. while und until
      7. 6. Kommandozeilen-Optionen und typisierte Variablen
        1. Kommandozeilen-Optionen
          1. shift
          2. Optionen mit Argumenten
          3. getopts
        2. Typisierte Variablen
        3. Ganzzahlige Variablen und Arithmetik
          1. Arithmetische Bedingungen
          2. Arithmetische Variablen und Zuweisung
          3. Arithmetische for-Schleifen
        4. Arrays
      8. 7. Ein-/Ausgabe und Kommandozeilen-Verarbeitung
        1. Ein-/Ausgabe-Umleitung
          1. Hier-Dokumente
          2. Dateideskriptoren
        2. String-Ein-/Ausgabe
          1. echo
            1. Optionen von echo
            2. Escape-Sequenzen für echo
          2. printf
            1. Weitere printf-Bezeichner in bash
          3. read
            1. Zeilen aus Dateien einlesen
            2. Ein-/Ausgabe-Umleitung und mehrere Befehle
            3. Befehlsblöcke
            4. Einlesen einer Benutzereingabe
        3. Kommandozeilen-Verarbeitung
          1. Setzen in Anführungszeichen
          2. command, builtin und enable
          3. eval
      9. 8. Prozess-Behandlung
        1. Prozess-IDs und Job-Nummern
        2. Job-Steuerung
          1. Vordergrund und Hintergrund
          2. Suspendieren eines Jobs
        3. Signale
          1. Steuertasten-Signale
          2. kill
          3. ps
            1. System V
            2. BSD
        4. trap
          1. Traps und Funktionen
          2. Prozess-ID-Variablen und temporäre Dateien
          3. Signale ignorieren
          4. disown
          5. Traps zurücksetzen
        5. Koroutinen
          1. wait
          2. Vor- und Nachteile von Koroutinen
          3. Parallelisierung
        6. Subshells
          1. Subshell-Vererbung
          2. Verschachtelte Subshells
        7. Prozess-Ersetzung
      10. 9. Fehlersuche in Shell-Programmen
        1. Einfache Hilfen bei der Fehlersuche
          1. Set-Optionen
          2. Gefälschte Signale
            1. EXIT
            2. ERR
            3. DEBUG
          3. Fehlersuche in Variablen
        2. Ein bash-Debugger
          1. Struktur des Debuggers
            1. Das Treiber-Skript
            2. exec
          2. Die Präambel
          3. Debugger-Funktionen
            1. Befehle
            2. Schrittweises Ausführen
            3. Breakpoints
            4. Abbruchbedingungen
            5. Ablaufverfolgung
            6. Debugger-Beschränkungen
          4. Eine bashdb-Beispielsitzung
          5. Übungen
      11. 10. bash-Administration
        1. Installation von bash als Standard-Shell
          1. Der POSIX-Modus
          2. Kommandozeilen-Optionen
        2. Anpassung der Umgebung
          1. umask
          2. ulimit
          3. Arten von globalen Anpassungen
        3. Systemsicherheit
          1. Die eingeschränkte Shell
          2. Ein Systemeinbruch-Szenario
          3. Der privilegierte Modus
      12. 11. Shell-Skripte schreiben
        1. Was macht das nur?
          1. Kommentare
          2. Variablen und Konstanten
        2. Programmstart
        3. Potenzielle Probleme
        4. Benutzen Sie bash nicht
      13. 12. bash auf Ihrem System
        1. bash besorgen
        2. Archiv auspacken
        3. Archivinhalt
          1. Dokumentation
          2. bash konfigurieren und bauen
          3. bash testen
          4. Potenzielle Probleme
          5. bash als Login-Shell installieren
          6. Beispiele
        4. Wohin kann man sich wenden?
          1. Fragen stellen
          2. Fehler melden
      14. A. Vergleichbare Shells
        1. Die Bourne-Shell
        2. Der Shell-Standard IEEE 1003.2 POSIX
        3. Die Korn-Shell
        4. pdksh
        5. zsh
        6. Shell-Klone und Unix-ähnliche Plattformen
          1. Cygwin
          2. DJGPP
          3. MKS-Toolkit
          4. UWIN von AT&T
      15. B. Referenzlisten
        1. Aufruf
        2. Anpassungen im Prompt-String
        3. Eingebaute Befehle und reservierte Wörter
        4. Eingebaute Shell-Variablen
        5. Testoperatoren
        6. set-Optionen
        7. shopt-Optionen
        8. Ein-/Ausgabe-Umleitung
        9. Befehle im emacs-Modus
        10. Befehle im vi-Steuermodus
      16. C. Ladbare eingebaute Befehle
      17. D. Programmierbare Vervollständigung
      18. Kolophon