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

Gebundene Ausgabe
44,90 €
inkl. MwSt. versandkostenfrei!

Reduzierte Artikel in dieser Kategorie


Produktdetails  
Verlag Rheinwerk Verlag
Auflage 7. Auflage, 09.06.2022
Seiten 868
Format 18,0 x 5,4 x 24,4 cm
Gewicht 1721 g
ISBN-10 3836289237
ISBN-13 9783836289238
Bestell-Nr 83628923A

Produktbeschreibung  

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




Inhalt:




  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

Autorenporträt  
Mehr Angebote zum Thema