Shell-Programmierung

Das umfassende Handbuch

Jürgen Wolf (Autor)

Media-Kombination
808 Seiten | Ausstattung: Hardcover & CD-ROM (Software)
2010 | 3. Auflage
Rheinwerk
978-3-8362-1650-0 (ISBN)
39,90 inkl. MwSt
zur Neuauflage
  • Titel gebraucht verfügbar
  • Artikel merken
Studibuch Logo

...gebraucht verfügbar!

Zu diesem Artikel existiert eine Nachauflage
Dieses umfassende Handbuch bietet alles, was man zur Shell-Programmierung wissen muss. Behandelt werden: Variablen, Parameter und Argumente, Kontrollstrukturen, Terminal-Ein- und -Ausgabe, Funktionen, Signale, Scripts und Prozesse, Fehlersuche und Debugging. Weiter geht's mit den wertvollen Helfern grep, sed und awk. Eine umfangreiche Linux-UNIX-Referenz bietet alle grundlegenden Kommandos in übersichtlicher Form. Das komplette Werk enthält zahlreiche Praxisbeispiele, ist modular zu lesen und hervorragend als Nachschlagewerk geeignet.

Aus dem Inhalt:

Einführung in die Shell-Programmierung
Standardshells: Bourne-Shell, Korn-Shell und Bourne-Again-Shell (Bash)
GUIs mit Shellscripts erstellen
Umfangreiche Linux-UNIX-Referenz mit allen grundlegenden Kommandos

Galileo Press heißt jetzt Rheinwerk Verlag.

Jürgen Wolf ist Softwareentwickler, Digitalfotograf und Autor aus Leidenschaft. C/C++, Perl, Linux und die Bildbearbeitung mit Photoshop Elements und GIMP sind seine Themen. Sein Traum: ein ruhiges Leben im Westen Kanadas. Und Bücher auf der Veranda schreiben.



... Vorwort des Autors ... 23

... Vorwort des Gutachters -- die Shell: Fluch oder Segen? ... 27

1 ... Einführung ... 29
... 1.1 ... Voraussetzungen an den Leser ... 29
... 1.2 ... Was ist eine Shell? ... 33
... 1.3 ... Hauptanwendungsgebiet ... 35
... 1.4 ... Kommando, Programm oder Shellscript? ... 39
... 1.5 ... Die Shell-Vielfalt ... 40
... 1.6 ... Betriebssysteme ... 44
... 1.7 ... Crashkurs: einfacher Umgang mit der Kommandozeile ... 45
... 1.8 ... Shellscripts schreiben und ausführen ... 58
... 1.9 ... Vom Shellscript zum Prozess ... 73
... 1.10 ... Datenstrom ... 76
... 1.11 ... Empfehlung ... 95

2 ... Variablen ... 97
... 2.1 ... Grundlagen ... 97
... 2.2 ... Zahlen ... 102
... 2.3 ... Zeichenketten ... 111
... 2.4 ... Quotings und Kommando-Substitution ... 122
... 2.5 ... Arrays (Bash und Korn-Shell only) ... 128
... 2.6 ... Variablen exportieren ... 134
... 2.7 ... Umgebungsvariablen eines Prozesses ... 140
... 2.8 ... Shell-Variablen ... 141
... 2.9 ... Automatische Variablen der Shell ... 146

3 ... Parameter und Argumente ... 153
... 3.1 ... Einführung ... 153
... 3.2 ... Kommandozeilenparameter $1 bis $9 ... 153
... 3.3 ... Besondere Parameter ... 154
... 3.4 ... Der Befehl »shift« ... 158
... 3.5 ... Argumente und Leerzeichen ... 160
... 3.6 ... Argumente jenseits von $9 ... 161
... 3.7 ... Argumente setzen mit set und Kommando-Substitution ... 162
... 3.8 ... getopts -- Kommandozeilenoptionen auswerten ... 166
... 3.9 ... Vorgabewerte für Variablen ... 169

4 ... Kontrollstrukturen ... 173
... 4.1 ... Bedingte Anweisung mit if ... 173
... 4.2 ... Die else-Alternative für eine if-Verzweigung ... 181
... 4.3 ... Mehrfache Alternative mit elif ... 183
... 4.4 ... Das Kommando »test« ... 186
... 4.5 ... Status von Dateien erfragen ... 197
... 4.6 ... Logische Verknüpfung von Ausdrücken ... 201
... 4.7 ... Short Circuit-Tests -- ergebnisabhängige Befehlsausführung ... 207
... 4.8 ... Die Anweisung case ... 210
... 4.9 ... Schleifen ... 217
... 4.10 ... for-Schleife ... 217
... 4.11 ... Die while-Schleife ... 227
... 4.12 ... Die until-Schleife ... 229
... 4.13 ... Kontrollierte Sprünge ... 232
... 4.14 ... Endlosschleifen ... 236

5 ... Terminal-Ein- und Ausgabe ... 239
... 5.1 ... Von Terminals zu Pseudo-Terminals ... 239
... 5.2 ... Ausgabe ... 242
... 5.3 ... Eingabe ... 255
... 5.4 ... Umlenken mit dem Befehl »exec« ... 279
... 5.5 ... Filedeskriptoren ... 282
... 5.6 ... Named Pipes ... 288
... 5.7 ... Menüs mit select (Bash und Korn-Shell only) ... 290
... 5.8 ... dialog und Xdialog ... 295
... 5.9 ... gnuplot -- Visualisierung von Messdaten ... 308

6 ... Funktionen ... 335
... 6.1 ... Definition ... 335
... 6.2 ... Funktionen, die Funktionen aufrufen ... 342
... 6.3 ... Parameterübergabe ... 344
... 6.4 ... Rückgabewert aus einer Funktion ... 347
... 6.5 ... Lokale contra globale Variablen ... 352
... 6.6 ... alias und unalias ... 356
... 6.7 ... Autoload (Korn-Shell only) ... 359

7 ... Signale ... 361
... 7.1 ... Grundlagen zu den Signalen ... 361
... 7.2 ... Signale senden -- kill ... 365
... 7.3 ... Eine Fallgrube für Signale -- trap ... 366

8 ... Rund um die Ausführung von Scripts und Prozessen ... 377
... 8.1 ... Prozessprioritäten ... 377
... 8.2 ... Warten auf andere Prozesse ... 378
... 8.3 ... Hintergrundprozess wieder hervorholen ... 379
... 8.4 ... Hintergrundprozess schützen ... 380
... 8.5 ... Subshells ... 381
... 8.6 ... Mehrere Scripts verbinden und ausführen (Kommunikation zwischen Scripts) ... 383
... 8.7 ... Jobverwaltung ... 390
... 8.8 ... Shellscripts zeitgesteuert ausführen ... 393
... 8.9 ... Startprozess- und Profildaten der Shell ... 399
... 8.10 ... Ein Shellscript bei der Ausführung ... 406
... 8.11 ... Shellscripts optimieren ... 409

9 ... Nützliche Funktionen ... 411
... 9.1 ... Der Befehl »eval« ... 411
... 9.2 ... xargs ... 414
... 9.3 ... dirname und basename ... 416
... 9.4 ... umask ... 417
... 9.5 ... ulimit (Builtin) ... 418
... 9.6 ... time ... 420
... 9.7 ... typeset ... 421

10 ... Fehlersuche und Debugging ... 423
... 10.1 ... Strategien zum Vermeiden von Fehlern ... 423
... 10.2 ... Fehlerarten ... 427
... 10.3 ... Fehlersuche ... 428

11 ... Reguläre Ausdrücke und grep ... 439
... 11.1 ... Reguläre Ausdrücke -- die Theorie ... 439
... 11.2 ... grep ... 443

12 ... Der Stream-Editor sed ... 457
... 12.1 ... Funktions- und Anwendungsweise von sed ... 457
... 12.2 ... Der sed-Befehl ... 461
... 12.3 ... Adressen ... 462
... 12.4 ... Kommandos, Substitutionsflags und Optionen von sed ... 464
... 12.5 ... sed-Scripts ... 480

13 ... awk-Programmierung ... 485
... 13.1 ... Einführung und Grundlagen von awk ... 485
... 13.2 ... Aufruf von awk-Programmen ... 488
... 13.3 ... Grundlegende awk-Programme und -Elemente ... 493
... 13.4 ... Muster (bzw. Adressen) von awk-Scripts ... 500
... 13.5 ... Die Komponenten von awk-Scripts ... 508
... 13.6 ... Funktionen ... 529
... 13.7 ... Empfehlung ... 544

14 ... Linux-UNIX-Kommandoreferenz ... 545
... 14.1 ... Kurzübersicht ... 546
... 14.2 ... Dateiorientierte Kommandos ... 554
... 14.3 ... Verzeichnisorientierte Kommandos ... 574
... 14.4 ... Verwaltung von Benutzern und Gruppe ... 576
... 14.5 ... Programm- und Prozessverwaltung ... 580
... 14.6 ... Speicherplatzinformationen ... 588
... 14.7 ... Dateisystem-Kommandos ... 590
... 14.8 ... Archivierung und Backup ... 602
... 14.9 ... Systeminformationen ... 617
... 14.10 ... System-Kommandos ... 618
... 14.11 ... Druckeradministration ... 620
... 14.12 ... Netzwerkbefehle ... 621
... 14.13 ... Benutzerkommunikation ... 638
... 14.14 ... Bildschirm- und Terminalkommandos ... 640
... 14.15 ... Online-Hilfen ... 642
... 14.16 ... Alles rund um PostScript-Kommandos ... 644
... 14.17 ... Gemischte Kommandos ... 645

15 ... Die Praxis ... 647
... 15.1 ... Alltägliche Lösungen ... 648
... 15.2 ... Datei-Utilities ... 652
... 15.3 ... Systemadministration ... 656
... 15.4 ... Backup-Strategien ... 681
... 15.5 ... World Wide Web und HTML ... 704
... 15.6 ... CGI (Common Gateway Interface) ... 711

16 ... GUIs mit Tcl/Tk ... 727
... 16.1 ... Was ist und was kann Tcl/Tk? ... 727
... 16.2 ... Ein Tcl/Tk-Script starten ... 728
... 16.3 ... Variablen ... 730
... 16.4 ... Einfache Ausgabe ... 731
... 16.5 ... Substitutionsmechanismen ... 731
... 16.6 ... Mathematische Ausdrücke ... 733
... 16.7 ... Programmstrukturen ... 733
... 16.8 ... Listen ... 738
... 16.9 ... Stringverarbeitung ... 738
... 16.10 ... Dateizugriff ... 738
... 16.11 ... Der Rest ... 741
... 16.12 ... Das Tk-Toolkit ... 741
... 16.13 ... Eine Einführung ... 741
... 16.14 ... Eine einfache Schaltfläche -- button ... 743
... 16.15 ... Einzeiliges Textfeld -- entry ... 744
... 16.16 ... Mehrzeiliger Text und ein Menü -- text und menu ... 745
... 16.17 ... Mit Ereignissen verbinden -- bind ... 749
... 16.18 ... Layoutmanager (Geometriemanager) -- grid und pack ... 751
... 16.19 ... Eine Scrollleiste -- scrollbar ... 756
... 16.20 ... Weitere Eingabe-Widgets -- radiobutton, checkbutton, scale und spinbox ... 757
... 16.21 ... frame und labelframe ... 762
... 16.22 ... Listen -- listbox ... 762
... 16.23 ... Darstellen von Grafiken -- canvas ... 764
... 16.24 ... Ein geteiltes Fenster -- panedwindow ... 765
... 16.25 ... Widgetübersicht ... 766
... 16.26 ... Dialoge (tk_) ... 767
... 16.27 ... Tile-Erweiterung (ttk_) ... 767
... 16.28 ... Weitere Empfehlungen ... 768

... Anhang ... 769
... A.1 ... Shell-Builtin-Befehle ... 769
... A.2 ... Externe Kommandos ... 771
... A.3 ... Shell-Optionen ... 772
... A.4 ... Shell-Variablen ... 774
... A.5 ... Kommandozeile editieren ... 781
... A.6 ... Wichtige Tastenkürzel (Kontrolltasten) ... 783
... A.7 ... Initialisierungsdateien der Shells ... 784
... A.8 ... Signale ... 785
... A.9 ... Sonderzeichen und Zeichenklassen ... 787
... A.10 ... Tastenunterschiede zwischen Mac- und PCTastaturen ... 788
... A.11 ... Die Buch-CD ... 790

... Index ... 791

Erscheint lt. Verlag 29.6.2010
Reihe/Serie Galileo Computing
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Gewicht 1610 g
Themenwelt Informatik Betriebssysteme / Server Unix / Linux
Schlagworte awk • Bash • bash Shell • Bourne-Shell • Grep • Korn-Shell • Linux-Programmierung • Linux; Programmierung • SED • Shell
ISBN-10 3-8362-1650-7 / 3836216507
ISBN-13 978-3-8362-1650-0 / 9783836216500
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
Mehr entdecken
aus dem Bereich