E-Book, Deutsch, 868 Seiten
Reihe: Rheinwerk Computing
Sommer / Kania / Wolf Shell-Programmierung
7. Auflage 2022
ISBN: 978-3-8362-8925-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Das umfassende Handbuch
E-Book, Deutsch, 868 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-8362-8925-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
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 ArgumenteKontrollstrukturen, Terminal-Eingabe und -AusgabeFunktionen und SignaleFehlersuche und DebuggingReguläre Ausdrücke und grepDer Stream-Editor sedawk-ProgrammierungGUIs mit zenityAuswertung von Messdaten mit gnuplotFür die PraxisLinux/UNIX-KommandoreferenzShellbefehle und BuiltinsBeispiele zur Systemadministration, Backup und CGI-ScriptsÜbungsaufgaben und LösungenDie 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.«
Autoren/Hrsg.
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 ... 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