Dieses umfassende Handbuch bietet Ihnen alles, was Sie über die Shell-Programmierung wissen müssen. Shell-Programmierung gehört zu den Grundlagen, die jeder Linux-Anwender und System-Administrator wissen muss. Hier finden Sie auf einen Blick und sauber sortiert alle grundlegenden Linux-Kommandos. Außerdem bietet das Buch eine umfassende Linux-UNIX-Referenz zahlreiche Praxisbeispiele und Übungen mit Lösungen und eignet sich daher hervorragend als Nachschlagewerk und zur Prüfungsvorbereitung.
- Einführung, Praxis, Musterlösungen, Kommandoreferenz
- Anleitungen, Beispiele und Übungen für zsh, ksh und bash
- Mit Shell-Werkzeugen: grep, sed, awk, zenity und mehr
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
Shell-Werkzeugkasten: grep, sed, awk, Regexps und mehr
Autorentext
Jürgen Wolf ist seit über 20 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.
Klappentext
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 verb…