Shell-Programmierung

Fachbuch-Bestseller
Das umfassende Handbuch
Buch | Hardcover
868 Seiten
2022 | 7., akt. Auflage
Rheinwerk (Verlag)
978-3-8362-8923-8 (ISBN)

Lese- und Medienproben

Shell-Programmierung - Frank Sommer, Stefan Kania, Jürgen Wolf
44,90 inkl. MwSt
Für Bourne-, Korn- und Bourne-Again-Shell (bash). Ideal für alle UNIX-Admins (Linux, macOS).

  • Einführung, Praxis, Musterlösungen, Kommandoreferenz
  • Anleitungen, Beispiele und Übungen für zsh, ksh und bash
  • Mit Shell-Werkzeugen: grep, sed, awk, zenity und mehr

Die Shell ist das Fundament jedes Linux-Systems. Ob in der Systemadministration, der Entwicklung oder der Arbeit mit dem Linux-Desktop: Wenn Sie die Kommandozeile sowie die wichtigsten Builtins und Werkzeuge beherrschen, verwalten Sie Ihre Systeme effizienter und machen sich das Leben leichter

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 zsh: Damit eignet sich das Buch bestens für die Linux-Praxis!

Einführung in die Shell-Programmierung
Von den Sprachgrundlagen bis zu den Tools grep, sed und awk lernen Sie die Arbeit mit der Shell kennen. Übungsaufgaben mit Lösungen helfen Ihnen dabei, Aufgaben schnell und sicher zu lösen.

Praxiswissen zum Lernen und Nachschlagen
Das Buch ist modular aufgebaut, sodass Sie einsteigen können, wo Sie wollen. Für häufig anfallende Aufgaben wie Backups und Systemadministration werden fertige Scripts vorgestellt.

Kommandoreferenz inklusive
Eine umfangreiche Linux-UNIX-Referenz bietet alle grundlegenden Kommandos zum schnellen Nachschlagen.

Aus dem Inhalt:
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 zenity
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

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. Seine Wahlheimat heißt Schleswig-Holstein.

Jürgen Wolf ist seit über 16 Jahren Autor und seit mehr als 10 Jahren passionierter Digitalfotograf. Seine Buchthemen sind Bildbearbeitung, Fotografie, Webentwicklung, Betriebssysteme und Programmierung. Und egal welches Thema: Bei jedem Buch ist es sein Ziel, auch komplexe Zusammenhänge klar und verständlich zu erklären.

Frank Sommer ist seit vielen Jahren in der IT tätig und über UNIX-Systeme zu Linux gekommen. Beruflich im Bereich Cloud-Systeme, Netzwerk und IT-Security tätig und daher immer eng mit der Shell verbunden



Materialien zum Buch ... 23


Vorwort ... 25


Vorwort des Gutachters: Die Shell - Fluch oder Segen? ... 29


1. Einführung ... 31


1.1 ... Was sollten Sie als Leser wissen? ... 31

1.2 ... Was ist eine Shell? ... 34

1.3 ... Hauptanwendungsgebiet ... 37

1.4 ... Kommando, Programm oder Shellscript? ... 40

1.5 ... Die Shell-Vielfalt ... 42

1.6 ... Betriebssysteme ... 47

1.7 ... Crashkurs: einfacher Umgang mit der Kommandozeile ... 47

1.8 ... Shellscripts schreiben und ausführen ... 61

1.9 ... Vom Shellscript zum Prozess ... 75

1.10 ... Datenstrom ... 78

1.11 ... Die Z-Shell ... 99

1.12 ... Empfehlung ... 109

1.13 ... Übungen ... 110



2. Variablen ... 111


2.1 ... Grundlagen ... 111

2.2 ... Zahlen ... 117

2.3 ... Zeichenketten ... 127

2.4 ... Quotings und Kommando-Substitution ... 139

2.5 ... Arrays ... 145

2.6 ... Variablen exportieren ... 154

2.7 ... Umgebungsvariablen eines Prozesses ... 159

2.8 ... Shell-Variablen ... 160

2.9 ... Automatische Variablen der Shell ... 166

2.10 ... Übungen ... 171



3. Parameter und Argumente ... 173


3.1 ... Einführung ... 173

3.2 ... Kommandozeilenparameter $1 bis $9 ... 173

3.3 ... Besondere Parameter ... 174

3.4 ... Der Befehl shift ... 178

3.5 ... Argumente und Leerzeichen ... 180

3.6 ... Argumente jenseits von $9 ... 180

3.7 ... Argumente setzen mit set und Kommando-Substitution ... 182

3.8 ... getopts - Kommandozeilenoptionen auswerten ... 186

3.9 ... Vorgabewerte für Variablen ... 188

3.10 ... Aufgaben ... 192



4. Kontrollstrukturen ... 193


4.1 ... Bedingte Anweisung mit if ... 193

4.2 ... Die else-Alternative für eine if-Verzweigung ... 201

4.3 ... Mehrfache Alternative mit elif ... 203

4.4 ... Das Kommando test ... 206

4.5 ... Status von Dateien erfragen ... 217

4.6 ... Logische Verknüpfung von Ausdrücken ... 221

4.7 ... Short Circuit-Tests - ergebnisabhängige Befehlsausführung ... 227

4.8 ... Die Anweisung case ... 230

4.9 ... Schleifen ... 239

4.10 ... Kontrollierte Sprünge ... 256

4.11 ... Endlosschleifen ... 260

4.12 ... Aufgaben ... 261



5. Terminal-Ein- und -Ausgabe ... 263


5.1 ... Von Terminals zu Pseudo-Terminals ... 263

5.2 ... Ausgabe ... 265

5.3 ... Eingabe ... 280

5.4 ... Umlenken mit dem Befehl exec ... 306

5.5 ... Filedescriptoren ... 309

5.6 ... Named Pipes ... 316

5.7 ... Menüs mit select ... 318

5.8 ... Aufgaben ... 323



6. Funktionen ... 325


6.1 ... Allgemeine Definition ... 325

6.2 ... Funktionen, die Funktionen aufrufen ... 332

6.3 ... Parameterübergabe ... 334

6.4 ... Rückgabewert aus einer Funktion ... 337

6.5 ... Lokale contra globale Variablen ... 342

6.6 ... alias und unalias ... 346

6.7 ... Autoload (Korn-Shell und Z-Shell) ... 349

6.8 ... Besonderheiten bei der Z-Shell ... 350

6.9 ... Aufgaben ... 351



7. Signale ... 353


7.1 ... Grundlagen zu den Signalen ... 353

7.2 ... Signale senden - kill ... 357

7.3 ... Eine Fallgrube für Signale - trap ... 358

7.4 ... Aufgabe ... 368



8. Rund um die Ausführung von Scripts und Prozessen ... 371


8.1 ... Prozessprioritäten ... 371

8.2 ... Warten auf andere Prozesse ... 372

8.3 ... Hintergrundprozess wieder hervorholen ... 373

8.4 ... Hintergrundprozess schützen ... 374

8.5 ... Subshells ... 375

8.6 ... Mehrere Scripts verbinden und ausführen (Kommunikation zwischen Scripts) ... 377

8.7 ... Jobverwaltung ... 384

8.8 ... Shellscripts zeitgesteuert ausführen ... 387

8.9 ... Startprozess- und Profildaten der Shell ... 392

8.10 ... Ein Shellscript bei der Ausführung ... 399

8.11 ... Shellscripts optimieren ... 401

8.12 ... Aufgaben ... 403



9. Nützliche Funktionen ... 405


9.1 ... Der Befehl eval ... 405

9.2 ... xargs ... 408

9.3 ... dirname und basename ... 410

9.4 ... umask ... 411

9.5 ... ulimit (Builtin) ... 412

9.6 ... time ... 414

9.7 ... typeset ... 415

9.8 ... Aufgabe ... 416



10. Fehlersuche und Debugging ... 417


10.1 ... Strategien zum Vermeiden von Fehlern ... 417

10.2 ... Fehlerarten ... 421

10.3 ... Fehlersuche ... 422



11. Reguläre Ausdrücke und grep ... 431


11.1 ... Reguläre Ausdrücke - die Theorie ... 431

11.2 ... grep ... 435

11.3 ... Aufgaben ... 448



12. Der Stream-Editor sed ... 449


12.1 ... Funktions- und Anwendungsweise von sed ... 449

12.2 ... Der sed-Befehl ... 453

12.3 ... Adressen ... 453

12.4 ... Kommandos, Substitutionsflags und Optionen von sed ... 455

12.5 ... sed-Scripts ... 471

12.6 ... Aufgaben ... 474



13. awk-Programmierung ... 475


13.1 ... Einführung und Grundlagen von awk ... 475

13.2 ... Aufruf von awk-Programmen ... 478

13.3 ... Grundlegende awk-Programme und -Elemente ... 483

13.4 ... Muster (bzw. Adressen) von awk-Scripts ... 489

13.5 ... Die Komponenten von awk-Scripts ... 497

13.6 ... Funktionen ... 518

13.7 ... Empfehlung ... 533

13.8 ... Aufgaben ... 533



14. Linux/UNIX-Kommandoreferenz ... 535


14.1 ... Kurzübersicht ... 536

14.2 ... Dateiorientierte Kommandos ... 545

14.3 ... Verzeichnisorientierte Kommandos ... 565

14.4 ... Verwaltung von Benutzern und Gruppen ... 567

14.5 ... Programm- und Prozessverwaltung ... 571

14.6 ... Speicherplatzinformationen ... 578

14.7 ... Dateisystem-Kommandos ... 579

14.8 ... Archivierung und Backup ... 591

14.9 ... Systeminformationen ... 605

14.10 ... System-Kommandos ... 607

14.11 ... Druckeradministration ... 609

14.12 ... Netzwerkbefehle ... 609

14.13 ... Benutzerkommunikation ... 626

14.14 ... Bildschirm- und Terminalkommandos ... 627

14.15 ... Online-Hilfen ... 629

14.16 ... Alles rund um PostScript-Kommandos ... 631

14.17 ... Gemischte Kommandos ... 632



15. Die Praxis ... 633


15.1 ... Alltägliche Lösungen ... 634

15.2 ... Datei-Utilitys ... 638

15.3 ... Systemadministration ... 651

15.4 ... Backup-Strategien ... 676

15.5 ... Das World Wide Web und HTML ... 698

15.6 ... CGI (Common Gateway Interface) ... 705



16. GUIs und Grafiken ... 721


16.1 ... dialog, Zenity und YAD ... 721

16.2 ... Alles zu dialog ... 722

16.3 ... Zenity ... 734

16.4 ... YAD ... 739

16.5 ... gnuplot - Visualisierung von Messdaten ... 747

16.6 ... Aufgaben ... 773



Anahng ... 775


A ... Befehle (Übersichtstabellen) ... 777

B ... Lösungen der Übungsaufgaben ... 799

C ... Trivia ... 819



Index ... 821

»Als Nachschlagewerk super geeignet. Für Lehrlinge im IT-Bereich perfekt.« mediennerd.de 202207

Die Fachpresse zur Vorauflage:

IT Administrator: »Scripting ist kein Hexenwerk und erleichtert das Leben eines IT-Profis deutlich. Wie sich dies unter Linux und UNIX bewerkstelligen lässt, zeigen Kania und Wolf eindrücklich und Schritt für Schritt in ihrem Buch.«

Erscheinungsdatum
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Informatik Betriebssysteme / Server Unix / Linux
Schlagworte Arch Gentoo • Automatisierung • awk • Bash • Entwickeln • Grep • Hand-Buch lernen Wissen Tipps Kurse Grundlagen Tutorials Workshops • Kommandozeile • Linux • LPIC • Programmieren • Reguläre Ausdrücke regular expressions • Scripte Skripte • SED • Shell-Scripting • Terminal • Ubuntu • UNIX
ISBN-10 3-8362-8923-7 / 3836289237
ISBN-13 978-3-8362-8923-8 / 9783836289238
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