
Shell-Programmierung
Das umfassende Handbuch. Für Bourne-, Korn- und Bourne-Again-Shell (bash)
Rheinwerk (Publisher)
5th Edition
Published on 28. March 2016
Book
Hardback
821 pages
978-3-8362-4087-1 (ISBN)
Article exhausted; check for reprint
Description
Dieses umfassende Handbuch bietet alles, was Sie zur Shell-Programmierung wissen müssen. Behandelt werden: Variablen, Parameter und Argumente, Kontrollstrukturen, Terminal-Eingabe und -Ausgabe, Funktionen, Signale, Scripts und Prozesse, reguläre Ausdrücke, 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. Die aktuelle Auflage wurde erweitert und beschreibt nun auch die neue Version bash 4: Damit eignet sich das Buch bestens zur Prüfungsvorbereitung und zum Selbststudium!
Die Shell von A bis Z:
Variablen, Parameter und Argumente
Kontrollstrukturen, Terminal-Eingabe und -Ausgabe
Funktionen und Signale
Fehlersuche und Debugging
Reguläre Ausdrücke und grep
Der Stream-Editor sed
awk-Programmierung
GUIs mit (X)dialog
Auswertung von Messdaten mit gnuplot
Für die Praxis
Linux/UNIX-Kommandoreferenz
Shellbefehle und Builtins
Beispiele zur Systemadministration, Backup und CGI-Scripts
Übungsaufgaben und Lösungen
Reviews / Votes
»Ein Must-have!«More details
Language
German
Place of publication
Bonn
Germany
Publishing group
Rheinwerk
Edition type
Enlarged edition
Dimensions
Height: 24 cm
Width: 16.8 cm
ISBN-13
978-3-8362-4087-1 (9783836240871)
Schweitzer Classification
Other editions
New editions

Book
06/2022
7th Edition
Rheinwerk
€44.90
Available immediately

Stefan Kania | Jürgen Wolf
Shell-Programmierung
Das umfassende Handbuch. Für Bourne-, Korn- und Bourne-Again-Shell (bash). Ideal für alle UNIX-Administratoren (Linux, macOS)
Book
03/2019
6th Edition
Rheinwerk
€44.90
Article exhausted; check for reprint
Previous edition

Book
06/2013
4th Edition
Galileo Computing
€39.90
Article exhausted; check for reprint
Persons
Author
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. Besuchen Sie seine umfangreiche Website www.pronix.de.
Stefan Kania ist seit 1997 freiberuflich als Consultant und Trainer tätig: Seine Schwerpunkte liegen in der Implementierung von Samba und LDAP sowie in Schulungen zu beiden Themen. In seiner übrigen Zeit ist er als Tauchlehrer tätig, läuft Marathon und seit einiger Zeit versucht er sich am Square Dance. Mit dem Motorrad und seiner großen Liebe erkundet er im Sommer seine neue Wahlheimat Schleswig-Holstein.
Content
Vorwort ... 23
Vorwort des Gutachters -- die Shell: Fluch oder Segen? ... 27
1. Einführung ... 29
1.1 ... Was sollten Sie als Leser wissen? ... 29
1.2 ... Was ist eine Shell? ... 32
1.3 ... Hauptanwendungsgebiet ... 35
1.4 ... Kommando, Programm oder Shellscript? ... 38
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 ... 59
1.9 ... Vom Shellscript zum Prozess ... 74
1.10 ... Datenstrom ... 77
1.11 ... Empfehlung ... 97
1.12 ... Übungen ... 97
2. Variablen ... 99
2.1 ... Grundlagen ... 99
2.2 ... Zahlen ... 105
2.3 ... Zeichenketten ... 115
2.4 ... Quotings und Kommando-Substitution ... 127
2.5 ... Arrays (Bash und Korn-Shell only) ... 132
2.6 ... Variablen exportieren ... 140
2.7 ... Umgebungsvariablen eines Prozesses ... 145
2.8 ... Shell-Variablen ... 146
2.9 ... Automatische Variablen der Shell ... 153
2.10 ... Übungen ... 159
3. Parameter und Argumente ... 161
3.1 ... Einführung ... 161
3.2 ... Kommandozeilenparameter $1 bis $9 ... 161
3.3 ... Besondere Parameter ... 162
3.4 ... Der Befehl shift ... 166
3.5 ... Argumente und Leerzeichen ... 168
3.6 ... Argumente jenseits von $9 ... 168
3.7 ... Argumente setzen mit set und Kommando-Substitution ... 170
3.8 ... getopts -- Kommandozeilenoptionen auswerten ... 174
3.9 ... Vorgabewerte für Variablen ... 176
3.10 ... Aufgaben ... 180
4. Kontrollstrukturen ... 181
4.1 ... Bedingte Anweisung mit if ... 181
4.2 ... Die else-Alternative für eine if-Verzweigung ... 189
4.3 ... Mehrfache Alternative mit elif ... 191
4.4 ... Das Kommando test ... 193
4.5 ... Status von Dateien erfragen ... 205
4.6 ... Logische Verknüpfung von Ausdrücken ... 209
4.7 ... Short Circuit-Tests -- ergebnisabhängige Befehlsausführung ... 215
4.8 ... Die Anweisung case ... 218
4.9 ... Schleifen ... 226
4.10 ... Kontrollierte Sprünge ... 243
4.11 ... Endlosschleifen ... 247
4.12 ... Aufgaben ... 249
5. Terminal-Ein- und -Ausgabe ... 251
5.1 ... Von Terminals zu Pseudo-Terminals ... 251
5.2 ... Ausgabe ... 253
5.3 ... Eingabe ... 268
5.4 ... Umlenken mit dem Befehl exec ... 294
5.5 ... Filedeskriptoren ... 297
5.6 ... Named Pipes ... 304
5.7 ... Menüs mit select (Bash und Korn-Shell only) ... 307
5.8 ... Aufgaben ... 312
6. Funktionen ... 313
6.1 ... Definition ... 313
6.2 ... Funktionen, die Funktionen aufrufen ... 320
6.3 ... Parameterübergabe ... 322
6.4 ... Rückgabewert aus einer Funktion ... 325
6.5 ... Lokale contra globale Variablen ... 330
6.6 ... alias und unalias ... 334
6.7 ... Autoload (Korn-Shell only) ... 337
6.8 ... Aufgaben ... 338
7. Signale ... 339
7.1 ... Grundlagen zu den Signalen ... 339
7.2 ... Signale senden -- kill ... 344
7.3 ... Eine Fallgrube für Signale -- trap ... 344
7.4 ... Aufgabe ... 355
8. Rund um die Ausführung von Scripts und Prozessen ... 357
8.1 ... Prozessprioritäten ... 357
8.2 ... Warten auf andere Prozesse ... 358
8.3 ... Hintergrundprozess wieder hervorholen ... 359
8.4 ... Hintergrundprozess schützen ... 360
8.5 ... Subshells ... 361
8.6 ... Mehrere Scripts verbinden und ausführen (Kommunikation zwischen Scripts) ... 363
8.7 ... Jobverwaltung ... 370
8.8 ... Shellscripts zeitgesteuert ausführen ... 373
8.9 ... Startprozess- und Profildaten der Shell ... 378
8.10 ... Ein Shellscript bei der Ausführung ... 385
8.11 ... Shellscripts optimieren ... 387
8.12 ... Aufgaben ... 390
9. Nützliche Funktionen ... 391
9.1 ... Der Befehl eval ... 391
9.2 ... xargs ... 394
9.3 ... dirname und basename ... 396
9.4 ... umask ... 397
9.5 ... ulimit (Builtin) ... 398
9.6 ... time ... 400
9.7 ... typeset ... 401
9.8 ... Aufgabe ... 402
10. Fehlersuche und Debugging ... 403
10.1 ... Strategien zum Vermeiden von Fehlern ... 403
10.2 ... Fehlerarten ... 407
10.3 ... Fehlersuche ... 408
11. Reguläre Ausdrücke und grep ... 419
11.1 ... Reguläre Ausdrücke -- die Theorie ... 419
11.2 ... grep ... 423
11.3 ... Aufgaben ... 436
12. Der Stream-Editor sed ... 437
12.1 ... Funktions- und Anwendungsweise von sed ... 437
12.2 ... Der sed-Befehl ... 441
12.3 ... Adressen ... 441
12.4 ... Kommandos, Substitutionsflags und Optionen von sed ... 443
12.5 ... sed-Scripts ... 460
12.6 ... Aufgaben ... 463
13. awk-Programmierung ... 465
13.1 ... Einführung und Grundlagen von awk ... 465
13.2 ... Aufruf von awk-Programmen ... 468
13.3 ... Grundlegende awk-Programme und -Elemente ... 473
13.4 ... Muster (bzw. Adressen) von awk-Scripts ... 479
13.5 ... Die Komponenten von awk-Scripts ... 487
13.6 ... Funktionen ... 508
13.7 ... Empfehlung ... 523
13.8 ... Aufgaben ... 524
14. Linux/UNIX-Kommandoreferenz ... 525
14.1 ... Kurzübersicht ... 526
14.2 ... Dateiorientierte Kommandos ... 535
14.3 ... Verzeichnisorientierte Kommandos ... 556
14.4 ... Verwaltung von Benutzern und Gruppen ... 558
14.5 ... Programm- und Prozessverwaltung ... 563
14.6 ... Speicherplatzinformationen ... 570
14.7 ... Dateisystem-Kommandos ... 571
14.8 ... Archivierung und Backup ... 583
14.9 ... Systeminformationen ... 598
14.10 ... System-Kommandos ... 600
14.11 ... Druckeradministration ... 602
14.12 ... Netzwerkbefehle ... 602
14.13 ... Benutzerkommunikation ... 619
14.14 ... Bildschirm- und Terminalkommandos ... 620
14.15 ... Online-Hilfen ... 623
14.16 ... Alles rund um PostScript-Kommandos ... 625
14.17 ... Gemischte Kommandos ... 625
15. Die Praxis ... 627
15.1 ... Alltägliche Lösungen ... 628
15.2 ... Datei-Utilitys ... 632
15.3 ... Systemadministration ... 645
15.4 ... Backup-Strategien ... 670
15.5 ... Das World Wide Web und HTML ... 693
15.6 ... CGI (Common Gateway Interface) ... 700
16. GUIs und Grafiken ... 715
16.1 ... dialog und Xdialog ... 715
16.2 ... gnuplot -- Visualisierung von Messdaten ... 729
16.3 ... Aufgaben ... 755
Anhang ... 757
A ... Befehle (Übersichtstabellen) ... 759
B ... Lösungen der Übungsaufgaben ... 783
C ... Trivia ... 803
Index ... 805