Shell-Programmierung

Das umfassende Handbuch. Für Bourne-, Korn- und Bourne-Again-Shell (bash). Ideal für alle UNIX-Admins (Linux, macOS)
Sofort lieferbar | Lieferzeit: Sofort lieferbar I
Alle Preise inkl. MwSt. | Versandkostenfrei
ISBN-13:
9783836289238
Veröffentl:
2022
Erscheinungsdatum:
09.06.2022
Seiten:
868
Autor:
Frank Sommer
Gewicht:
1715 g
Format:
248x183x50 mm
Serie:
Rheinwerk Computing
Sprache:
Deutsch
Beschreibung:

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 verbundenStefan 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.
Shell-Werkzeugkasten: grep, sed, awk, regexps, curl und mehr


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

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.«

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.