Sommer / Kania / Wolf | Shell-Programmierung | Buch | 978-3-8362-8923-8 | sack.de

Buch, Deutsch, 868 Seiten, Format (B × H): 183 mm x 248 mm, Gewicht: 1715 g

Reihe: Rheinwerk Computing

Sommer / Kania / Wolf

Shell-Programmierung

Das umfassende Handbuch. Für Bourne-, Korn- und Bourne-Again-Shell (bash). Ideal für alle UNIX-Admins (Linux, macOS)

Buch, Deutsch, 868 Seiten, Format (B × H): 183 mm x 248 mm, Gewicht: 1715 g

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-8923-8
Verlag: Rheinwerk Verlag GmbH


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!

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

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.'
Sommer / Kania / Wolf Shell-Programmierung jetzt bestellen!

Weitere Infos & Material


Materialien zum Buch. 23

  Vorwort. 25

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

  1.  Einführung. 31

       1.1. Was sollten Sie 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. 43

       1.6. Betriebssysteme. 48

       1.7. Crashkurs: einfacher Umgang mit der Kommandozeile. 49

       1.8. Shellscripts schreiben und ausführen. 63

       1.9. Vom Shellscript zum Prozess. 83

       1.10. Datenstrom. 86

       1.11. Die Z-Shell. 105

       1.12. Empfehlung. 117

       1.13. Übungen. 117

  2.  Variablen. 119

       2.1. Grundlagen. 119

       2.2. Zahlen. 125

       2.3. Zeichenketten. 136

       2.4. Quotings und Kommando-Substitution. 148

       2.5. Arrays. 154

       2.6. Variablen exportieren. 163

       2.7. Umgebungsvariablen eines Prozesses. 168

       2.8. Shell-Variablen. 169

       2.9. Automatische Variablen der Shell. 175

       2.10. Übungen. 180

  3.  Parameter und Argumente. 183

       3.1. Einführung. 183

       3.2. Kommandozeilenparameter $1 bis $9. 183

       3.3. Besondere Parameter. 184

       3.4. Der Befehl shift. 188

       3.5. Argumente und Leerzeichen. 190

       3.6. Argumente jenseits von $9. 190

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

       3.8. getopts -- Kommandozeilenoptionen auswerten. 196

       3.9. Vorgabewerte für Variablen (Parameter-Expansion). 198

       3.10. Substring-Expansion. 202

       3.11. Aufgaben. 202

  4.  Kontrollstrukturen. 203

       4.1. Bedingte Anweisung mit if. 203

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

       4.3. Mehrfache Alternative mit elif. 214

       4.4. Das Kommando test. 216

       4.5. Status von Dateien erfragen. 228

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

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

       4.8. Die Anweisung case. 241

       4.9. Schleifen. 249

       4.10. Kontrollierte Sprünge. 266

       4.11. Endlosschleifen. 270

       4.12. Aufgaben. 272

  5.  Terminal-Ein- und -Ausgabe. 273

       5.1. Von Terminals zu Pseudo-Terminals. 273

       5.2. Ausgabe. 276

       5.3. Eingabe. 291

       5.4. Umlenken mit dem Befehl exec. 317

       5.5. Filedescriptoren. 320

       5.6. Named Pipes. 327

       5.7. Menüs mit select. 329

       5.8. Aufgaben. 334

  6.  Funktionen. 337

       6.1. Allgemeine Definition. 337

       6.2. Funktionen, die Funktionen aufrufen. 344

       6.3. Parameterübergabe. 347

       6.4. Rückgabewert aus einer Funktion. 350

       6.5. Lokale kontra globale Variablen. 355

       6.6. alias und unalias. 359

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

       6.8. Besonderheiten bei der Z-Shell. 363

       6.9. Aufgaben. 364

  7.  Signale. 365

       7.1. Grundlagen zu den Signalen. 365

       7.2. Signale senden -- kill. 370

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

       7.4. Aufgabe. 381

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

       8.1. Prozessprioritäten. 383

       8.2. Warten auf andere Prozesse. 384

       8.3. Hintergrundprozess wieder hervorholen. 385

       8.4. Hintergrundprozess schützen. 386

       8.5. Subshells. 387

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

       8.7. Jobverwaltung. 396

       8.8. Shellscripts zeitgesteuert ausführen. 399

       8.9. Startprozess- und Profildaten der Shell. 404

       8.10. Ein Shellscript bei der Ausführung. 411

       8.11. Shellscripts optimieren. 413

       8.12. Aufgaben. 415

  9.  Nützliche Funktionen. 417

       9.1. Der Befehl eval. 417

       9.2. xargs. 420

       9.3. dirname und basename. 422

       9.4. umask. 423

       9.5. ulimit (Builtin). 424

       9.6. time. 426

       9.7. typeset. 427

       9.8. Aufgabe. 428

10.  Fehlersuche und Debugging. 429

       10.1. Strategien zum Vermeiden von Fehlern. 429

       10.2. Fehlerarten. 433

       10.3. Fehlersuche. 434

       10.4. Fehlerbehandlung. 443

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

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

       11.2. grep. 449

       11.3. Aufgaben. 462

12.  Der Stream-Editor sed. 463

       12.1. Funktions- und Anwendungsweise von sed. 463

       12.2. Der sed-Befehl. 467

       12.3. Adressen. 468

       12.4. Kommandos, Substitutionsflags und Optionen von sed. 469

       12.5. sed-Scripts. 487

       12.6. Aufgaben. 489

13.  awk-Programmierung. 491

       13.1. Einführung und Grundlagen von awk. 491

       13.2. Aufruf von awk-Programmen. 494

       13.3. Grundlegende awk-Programme und -Elemente. 499

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

       13.5. Die Komponenten von awk-Scripts. 513

       13.6. Funktionen. 534

       13.7. Empfehlung. 549

       13.8. Aufgaben. 549

14.  Linux/UNIX-Kommandoreferenz. 551

       14.1. Kurzübersicht. 552

       14.2. Dateiorientierte Kommandos. 561

       14.3. Verzeichnisorientierte Kommandos. 583

       14.4. Verwaltung von Benutzern und Gruppen. 584

       14.5. Programm- und Prozessverwaltung. 588

       14.6. Speicherplatzinformationen. 596

       14.7. Dateisystemkommandos. 598

       14.8. Archivierung und Backup. 610

       14.9. Systeminformationen. 625

       14.10. Systemkommandos. 626

       14.11. Druckeradministration. 628

       14.12. Hardwareabfragen. 629

       14.13. Netzwerkbefehle. 631

       14.14. Benutzerkommunikation. 649

       14.15. Bildschirm- und Terminalkommandos. 651

       14.16. Online-Hilfen. 653

       14.17. Alles rund um PostScript-Kommandos. 655

       14.18. Gemischte Kommandos. 656

15.  Die Praxis. 657

       15.1. Alltägliche Lösungen. 658

       15.2. Datei-Utilitys. 662

       15.3. Systemadministration. 675

       15.4. Backup-Strategien. 701

       15.5. Systemstart -- Init-System. 717

       15.6. Das World Wide Web und HTML. 725

       15.7. CGI (Common Gateway Interface). 736

16.  GUIs und Grafiken. 751

       16.1. dialog, Zenity und YAD. 751

       16.2. dialog -- Abfragen und Informationen. 752

       16.3. Zenity. 763

       16.4. YAD. 768

       16.5. gnuplot -- Visualisierung von Messdaten. 776

       16.6. Aufgaben. 803

  Anhang. 805

       A. Befehle (Übersichtstabellen). 805

       B. Lösungen der Übungsaufgaben. 829

       C. Trivia. 849

  Index. 851


Wolf, Jürgen
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.

Sommer, Frank
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

Kania, Stefan
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.


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.