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
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:

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!
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 ... 42810. Fehlersuche und Debugging ... 429 10.1 ... Strategien zum Vermeiden von Fehlern ... 429 10.2 ... Fehlerarten ... 433 10.3 ... Fehlersuche ... 434 10.4 ... Fehlerbehandlung ... 44311. Reguläre Ausdrücke und grep ... 445 11.1 ... Reguläre Ausdrücke -- die Theorie ... 445 11.2 ... grep ... 449 11.3 ... Aufgaben ... 46212. 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 ... 48913. 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 ... 54914. 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 ... 65615. 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) ... 73616. 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

Kunden Rezensionen

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

Google Plus
Powered by Inooga