- Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Einführung, Praxis, Referenz
Bourne-, Korn- und Bourne-Again-Shell
Inkl. grep, sed und awk
Von der Shellscript-Programmierung profitieren kann der einfache Linux-/UNIX-Anwender bis hin zum System-Administrator. Einfach jeder ambitionierte Linux-User.
In den ersten zehn Kapiteln erfahren Sie alles, was Sie zur Shell-Programmierung wissen müssen. Weitere Kapitel gehen auf die unverzichtbaren Tools grep, sed und awk ein, die in Kombination (oder auch allein) mit der Shellscript-Programmierung zu wertvollen Helfern werden können. Sie erfahren alles zu grundlegenden Kommandos von…mehr
Einführung, Praxis, Referenz
Bourne-, Korn- und Bourne-Again-Shell
Inkl. grep, sed und awk
Von der Shellscript-Programmierung profitieren kann der einfache Linux-/UNIX-Anwender bis hin zum System-Administrator. Einfach jeder ambitionierte Linux-User.
In den ersten zehn Kapiteln erfahren Sie alles, was Sie zur Shell-Programmierung wissen müssen. Weitere Kapitel gehen auf die unverzichtbaren Tools grep, sed und awk ein, die in Kombination (oder auch allein) mit der Shellscript-Programmierung zu wertvollen Helfern werden können. Sie erfahren alles zu grundlegenden Kommandos von Linux/UNIX. Das ganze Buch enthält zahlreiche Praxisbeispiele, ist modular zu lesen und hervorragend als Nachschlagewerk geeignet.
Ganz neu ist ein Kapitel zu Tcl/Tk.
Bourne-, Korn- und Bourne-Again-Shell
Inkl. grep, sed und awk
Von der Shellscript-Programmierung profitieren kann der einfache Linux-/UNIX-Anwender bis hin zum System-Administrator. Einfach jeder ambitionierte Linux-User.
In den ersten zehn Kapiteln erfahren Sie alles, was Sie zur Shell-Programmierung wissen müssen. Weitere Kapitel gehen auf die unverzichtbaren Tools grep, sed und awk ein, die in Kombination (oder auch allein) mit der Shellscript-Programmierung zu wertvollen Helfern werden können. Sie erfahren alles zu grundlegenden Kommandos von Linux/UNIX. Das ganze Buch enthält zahlreiche Praxisbeispiele, ist modular zu lesen und hervorragend als Nachschlagewerk geeignet.
Ganz neu ist ein Kapitel zu Tcl/Tk.
Produktdetails
- Produktdetails
- Verlag: Galileo Press
- 2. Auflage
- Deutsch
- ISBN-13: 9783836211574
- ISBN-10: 3836211572
- Artikelnr.: 23131263
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
- Verlag: Galileo Press
- 2. Auflage
- Deutsch
- ISBN-13: 9783836211574
- ISBN-10: 3836211572
- Artikelnr.: 23131263
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
Jürgen Wolf ist Softwareentwickler und Autor aus Leidenschaft. C/C++, Perl und Linux sind seine Themen. Sein Traum: ein ruhiges Leben im Westen Kanadas. Und Bücher auf der Veranda schreiben. Besuchen Sie seine umfangreiche Website www.pronix.de.
1 Einführung 29
1.1 Voraussetzungen an den Leser 29
1.2 Was ist eine Shell? 32
1.3 Hauptanwendungsgebiet 34
1.4 Kommando, Programm oder Shellscript? 38
1.5 Die Shell-Vielfalt 40
1.6 Betriebssysteme 43
1.7 Crashkurs: einfacher Umgang mit der Kommandozeile 44
1.8 Shellscripts schreiben und ausführen 57
1.9 Vom Shellscript zum Prozess 71
1.10 Datenstrom 74
1.11 Empfehlung 92
2 Variablen 93
2.1 Grundlagen 93
2.2 Zahlen 98
2.3 Zeichenketten 107
2.4 Quotings und Kommando-Substitution 118
2.5 Arrays (Bash und Korn-Shell only) 124
2.6 Variablen exportieren 130
2.7 Umgebungsvariablen eines Prozesses 136
2.8 Shell-Variablen 137
2.9 Automatische Variablen der Shell 142
3 Parameter und Argumente 149
3.1 Einführung 149
3.2 Kommandozeilenparameter $1 bis $9 149
3.3 Besondere Parameter 151
3.4 Der Befehl shift 154
3.5 Argumente und Leerzeichen 156
3.6 Argumente jenseits von $9 157
3.7 Argumente setzen mit set und Kommando-Substitution 159
3.8 getopts - Kommandozeilenoptionen auswerten 162
3.9 Vorgabewerte für Variablen 165
4 Kontrollstrukturen 169
4.1 Bedingte Anweisung mit if 169
4.2 Die else-Alternative für eine if-Verzweigung 177
4.3 Mehrfache Alternative mit elif 179
4.4 Das Kommando test 182
4.5 Status von Dateien erfragen 194
4.6 Logische Verknüpfung von Ausdrücken 197
4.7 Short Circuit-Tests - ergebnisabhängige Befehlsausführung 203
4.8 Die Anweisung case 206
4.9 Schleifen 213
4.10 for-Schleife 214
4.11 Die while-Schleife 224
4.12 Die until-Schleife 226
4.13 Kontrollierte Sprünge 229
4.14 Endlosschleifen 233
5 Terminal-Ein- und Ausgabe 237
5.1 Von Terminals zu Pseudo-Terminals 237
5.2 Ausgabe 239
5.3 Eingabe 253
5.4 Umlenken mit dem Befehl exec 278
5.5 Filedeskriptoren 281
5.6 Named Pipes 286
5.7 Menüs mit select (Bash und Korn-Shell only) 289
5.8 dialog und Xdialog 294
5.9 gnuplot - Visualisierung von Messdaten 306
6 Funktionen 333
6.1 Definition 333
6.2 Funktionen, die Funktionen aufrufen 340
6.3 Parameterübergabe 342
6.4 Rückgabewert aus einer Funktion 346
6.5 Lokale contra globale Variablen 351
6.6 alias und unalias 355
6.7 Autoload (Korn-Shell only) 357
7 Signale 359
7.1 Grundlagen zu den Signalen 359
7.2 Signale senden - kill 363
7.3 Eine Fallgrube für Signale - trap 364
8 Rund um die Ausführung von Scripts und Prozessen 375
8.1 Prozessprioritäten 375
8.2 Warten auf andere Prozesse 376
8.3 Hintergrundprozess wieder hervorholen 377
8.4 Hintergrundprozess schützen 378
8.5 Subshells 379
8.6 Mehrere Scripts verbinden und ausführen (Kommunikation zwischen Scripts) 381
8.7 Jobverwaltung 388
8.8 Shellscripts zeitgesteuert ausführen 391
8.9 Startprozess- und Profildaten der Shell 396
8.10 Ein Shellscript bei der Ausführung 404
8.11 Shellscripts optimieren 406
9 Nützliche Funktionen 409
9.1 Der Befehl eval 409
9.2 xargs 412
9.3 dirname und basename 414
9.4 umask 415
9.5 ulimit (Builtin) 416
9.6 time 418
9.7 typeset 419
10 Fehlersuche und Debugging 421
10.1 Strategien zum Vermeiden von Fehlern 421
10.2 Fehlerarten 425
10.3 Fehlersuche 426
11 Reguläre Ausdrücke und grep 437
11.1 Reguläre Ausdrücke - die Theorie 437
11.2 grep 441
12 Der Stream-Editor sed 455
12.1 Funktions- und Anwendungsweise von sed 455
12.2 Der sed-Befehl 459
12.3 Adressen 460
12.4 Kommandos, Substitutionsflags und Optionen von sed 462
12.5 sed-Scripts 478
13 awk-Programmierung 483
13.1 Einführung und Grundlagen von awk 483
13.2 Aufruf von awk-Programmen 486
13.3 Grundlegende awk-Programme und -Elemente 491
13.4 Muster (bzw. Adressen) von awk-Scripts 498
13.5 Die Komponenten von awk-Scripts 506
13.6 Funktionen 527
13.7 Empfehlung 542
14 Linux-UNIX-Kommandoreferenz 543
14.1 Kurzübersicht 544
14.2 Dateiorientierte Kommandos 551
14.3 Verzeichnisorientierte Kommandos 572
14.4 Verwaltung von Benutzern und Gruppe 573
14.5 Programm- und Prozessverwaltung 578
14.6 Speicherplatzinformationen 585
14.7 Dateisystem-Kommandos 587
14.8 Archivierung und Backup 599
14.9 Systeminformationen 613
14.10 System-Kommandos 615
14.11 Druckeradministration 617
14.12 Netzwerkbefehle 618
14.13 Benutzerkommunikation 636
14.14 Bildschirm- und Terminalkommandos 637
14.15 Online-Hilfen 640
14.16 Alles rund um PostScript-Kommandos 642
14.17 Gemischte Kommandos 642
15 Die Praxis 645
15.1 Alltägliche Lösungen 646
15.2 Datei-Utilities 650
15.3 Systemadministration 654
15.4 Backup-Strategien 679
15.5 World Wide Web und HTML 702
15.6 CGI (Common Gateway Interface) 710
16 GUIs mit Tcl/Tk 725
16.1 Was ist und was kann Tcl/Tk? 725
16.2 Ein Tcl/Tk-Skript starten 726
16.3 Variablen 728
16.4 Einfache Ausgabe 729
16.5 Substitutionsmechanismen 729
16.6 Mathematische Ausdrücke 731
16.7 Programmstrukturen 731
16.8 Listen 736
16.9 Stringverarbeitung 736
16.10 Dateizugriff 736
16.11 Der Rest 739
16.12 Das Tk-Toolkit 739
16.13 Eine Einführung 740
16.14 Eine einfache Schaltfläche - button 741
16.15 Einzeiliges Textfeld - entry 742
16.16 Mehrzeiliger Text und ein Menü - text und menu 743
16.17 Mit Ereignissen verbinden - bind 747
16.18 Layoutmanager (Geometriemanager) - grid und pack 749
16.19 Eine Scrollleiste - scrollbar 754
16.20 Weitere Eingabe-Widgets - radiobutton, checkbutton, scale und spinbox 755
16.21 frame und labelframe 760
16.22 Listen - listbox 760
16.23 Darstellen von Grafiken - canvas 762
16.24 Ein geteiltes Fenster - panedwindow 763
16.25 Widgetübersicht 764
16.26 Dialoge (tk_) 765
16.27 Tile-Erweiterung (ttk_) 765
16.28 Weitere Empfehlungen 766
A Anhang 769
A.1 Shell-Builtin-Befehle 769
A.2 Externe Kommandos 771
A.3 Shell-Optionen 772
A.4 Shell-Variablen 773
A.5 Kommandozeile editieren 778
A.6 Wichtige Tastenkürzel (Kontrolltasten) 780
A.7 Initialisierungsdateien der Shells 781
A.8 Signale 782
A.9 Sonderzeichen und Zeichenklassen 784
A.10 Die Buch-DVD 785
Index 787
1.1 Voraussetzungen an den Leser 29
1.2 Was ist eine Shell? 32
1.3 Hauptanwendungsgebiet 34
1.4 Kommando, Programm oder Shellscript? 38
1.5 Die Shell-Vielfalt 40
1.6 Betriebssysteme 43
1.7 Crashkurs: einfacher Umgang mit der Kommandozeile 44
1.8 Shellscripts schreiben und ausführen 57
1.9 Vom Shellscript zum Prozess 71
1.10 Datenstrom 74
1.11 Empfehlung 92
2 Variablen 93
2.1 Grundlagen 93
2.2 Zahlen 98
2.3 Zeichenketten 107
2.4 Quotings und Kommando-Substitution 118
2.5 Arrays (Bash und Korn-Shell only) 124
2.6 Variablen exportieren 130
2.7 Umgebungsvariablen eines Prozesses 136
2.8 Shell-Variablen 137
2.9 Automatische Variablen der Shell 142
3 Parameter und Argumente 149
3.1 Einführung 149
3.2 Kommandozeilenparameter $1 bis $9 149
3.3 Besondere Parameter 151
3.4 Der Befehl shift 154
3.5 Argumente und Leerzeichen 156
3.6 Argumente jenseits von $9 157
3.7 Argumente setzen mit set und Kommando-Substitution 159
3.8 getopts - Kommandozeilenoptionen auswerten 162
3.9 Vorgabewerte für Variablen 165
4 Kontrollstrukturen 169
4.1 Bedingte Anweisung mit if 169
4.2 Die else-Alternative für eine if-Verzweigung 177
4.3 Mehrfache Alternative mit elif 179
4.4 Das Kommando test 182
4.5 Status von Dateien erfragen 194
4.6 Logische Verknüpfung von Ausdrücken 197
4.7 Short Circuit-Tests - ergebnisabhängige Befehlsausführung 203
4.8 Die Anweisung case 206
4.9 Schleifen 213
4.10 for-Schleife 214
4.11 Die while-Schleife 224
4.12 Die until-Schleife 226
4.13 Kontrollierte Sprünge 229
4.14 Endlosschleifen 233
5 Terminal-Ein- und Ausgabe 237
5.1 Von Terminals zu Pseudo-Terminals 237
5.2 Ausgabe 239
5.3 Eingabe 253
5.4 Umlenken mit dem Befehl exec 278
5.5 Filedeskriptoren 281
5.6 Named Pipes 286
5.7 Menüs mit select (Bash und Korn-Shell only) 289
5.8 dialog und Xdialog 294
5.9 gnuplot - Visualisierung von Messdaten 306
6 Funktionen 333
6.1 Definition 333
6.2 Funktionen, die Funktionen aufrufen 340
6.3 Parameterübergabe 342
6.4 Rückgabewert aus einer Funktion 346
6.5 Lokale contra globale Variablen 351
6.6 alias und unalias 355
6.7 Autoload (Korn-Shell only) 357
7 Signale 359
7.1 Grundlagen zu den Signalen 359
7.2 Signale senden - kill 363
7.3 Eine Fallgrube für Signale - trap 364
8 Rund um die Ausführung von Scripts und Prozessen 375
8.1 Prozessprioritäten 375
8.2 Warten auf andere Prozesse 376
8.3 Hintergrundprozess wieder hervorholen 377
8.4 Hintergrundprozess schützen 378
8.5 Subshells 379
8.6 Mehrere Scripts verbinden und ausführen (Kommunikation zwischen Scripts) 381
8.7 Jobverwaltung 388
8.8 Shellscripts zeitgesteuert ausführen 391
8.9 Startprozess- und Profildaten der Shell 396
8.10 Ein Shellscript bei der Ausführung 404
8.11 Shellscripts optimieren 406
9 Nützliche Funktionen 409
9.1 Der Befehl eval 409
9.2 xargs 412
9.3 dirname und basename 414
9.4 umask 415
9.5 ulimit (Builtin) 416
9.6 time 418
9.7 typeset 419
10 Fehlersuche und Debugging 421
10.1 Strategien zum Vermeiden von Fehlern 421
10.2 Fehlerarten 425
10.3 Fehlersuche 426
11 Reguläre Ausdrücke und grep 437
11.1 Reguläre Ausdrücke - die Theorie 437
11.2 grep 441
12 Der Stream-Editor sed 455
12.1 Funktions- und Anwendungsweise von sed 455
12.2 Der sed-Befehl 459
12.3 Adressen 460
12.4 Kommandos, Substitutionsflags und Optionen von sed 462
12.5 sed-Scripts 478
13 awk-Programmierung 483
13.1 Einführung und Grundlagen von awk 483
13.2 Aufruf von awk-Programmen 486
13.3 Grundlegende awk-Programme und -Elemente 491
13.4 Muster (bzw. Adressen) von awk-Scripts 498
13.5 Die Komponenten von awk-Scripts 506
13.6 Funktionen 527
13.7 Empfehlung 542
14 Linux-UNIX-Kommandoreferenz 543
14.1 Kurzübersicht 544
14.2 Dateiorientierte Kommandos 551
14.3 Verzeichnisorientierte Kommandos 572
14.4 Verwaltung von Benutzern und Gruppe 573
14.5 Programm- und Prozessverwaltung 578
14.6 Speicherplatzinformationen 585
14.7 Dateisystem-Kommandos 587
14.8 Archivierung und Backup 599
14.9 Systeminformationen 613
14.10 System-Kommandos 615
14.11 Druckeradministration 617
14.12 Netzwerkbefehle 618
14.13 Benutzerkommunikation 636
14.14 Bildschirm- und Terminalkommandos 637
14.15 Online-Hilfen 640
14.16 Alles rund um PostScript-Kommandos 642
14.17 Gemischte Kommandos 642
15 Die Praxis 645
15.1 Alltägliche Lösungen 646
15.2 Datei-Utilities 650
15.3 Systemadministration 654
15.4 Backup-Strategien 679
15.5 World Wide Web und HTML 702
15.6 CGI (Common Gateway Interface) 710
16 GUIs mit Tcl/Tk 725
16.1 Was ist und was kann Tcl/Tk? 725
16.2 Ein Tcl/Tk-Skript starten 726
16.3 Variablen 728
16.4 Einfache Ausgabe 729
16.5 Substitutionsmechanismen 729
16.6 Mathematische Ausdrücke 731
16.7 Programmstrukturen 731
16.8 Listen 736
16.9 Stringverarbeitung 736
16.10 Dateizugriff 736
16.11 Der Rest 739
16.12 Das Tk-Toolkit 739
16.13 Eine Einführung 740
16.14 Eine einfache Schaltfläche - button 741
16.15 Einzeiliges Textfeld - entry 742
16.16 Mehrzeiliger Text und ein Menü - text und menu 743
16.17 Mit Ereignissen verbinden - bind 747
16.18 Layoutmanager (Geometriemanager) - grid und pack 749
16.19 Eine Scrollleiste - scrollbar 754
16.20 Weitere Eingabe-Widgets - radiobutton, checkbutton, scale und spinbox 755
16.21 frame und labelframe 760
16.22 Listen - listbox 760
16.23 Darstellen von Grafiken - canvas 762
16.24 Ein geteiltes Fenster - panedwindow 763
16.25 Widgetübersicht 764
16.26 Dialoge (tk_) 765
16.27 Tile-Erweiterung (ttk_) 765
16.28 Weitere Empfehlungen 766
A Anhang 769
A.1 Shell-Builtin-Befehle 769
A.2 Externe Kommandos 771
A.3 Shell-Optionen 772
A.4 Shell-Variablen 773
A.5 Kommandozeile editieren 778
A.6 Wichtige Tastenkürzel (Kontrolltasten) 780
A.7 Initialisierungsdateien der Shells 781
A.8 Signale 782
A.9 Sonderzeichen und Zeichenklassen 784
A.10 Die Buch-DVD 785
Index 787
1 Einführung 29
1.1 Voraussetzungen an den Leser 29
1.2 Was ist eine Shell? 32
1.3 Hauptanwendungsgebiet 34
1.4 Kommando, Programm oder Shellscript? 38
1.5 Die Shell-Vielfalt 40
1.6 Betriebssysteme 43
1.7 Crashkurs: einfacher Umgang mit der Kommandozeile 44
1.8 Shellscripts schreiben und ausführen 57
1.9 Vom Shellscript zum Prozess 71
1.10 Datenstrom 74
1.11 Empfehlung 92
2 Variablen 93
2.1 Grundlagen 93
2.2 Zahlen 98
2.3 Zeichenketten 107
2.4 Quotings und Kommando-Substitution 118
2.5 Arrays (Bash und Korn-Shell only) 124
2.6 Variablen exportieren 130
2.7 Umgebungsvariablen eines Prozesses 136
2.8 Shell-Variablen 137
2.9 Automatische Variablen der Shell 142
3 Parameter und Argumente 149
3.1 Einführung 149
3.2 Kommandozeilenparameter $1 bis $9 149
3.3 Besondere Parameter 151
3.4 Der Befehl shift 154
3.5 Argumente und Leerzeichen 156
3.6 Argumente jenseits von $9 157
3.7 Argumente setzen mit set und Kommando-Substitution 159
3.8 getopts - Kommandozeilenoptionen auswerten 162
3.9 Vorgabewerte für Variablen 165
4 Kontrollstrukturen 169
4.1 Bedingte Anweisung mit if 169
4.2 Die else-Alternative für eine if-Verzweigung 177
4.3 Mehrfache Alternative mit elif 179
4.4 Das Kommando test 182
4.5 Status von Dateien erfragen 194
4.6 Logische Verknüpfung von Ausdrücken 197
4.7 Short Circuit-Tests - ergebnisabhängige Befehlsausführung 203
4.8 Die Anweisung case 206
4.9 Schleifen 213
4.10 for-Schleife 214
4.11 Die while-Schleife 224
4.12 Die until-Schleife 226
4.13 Kontrollierte Sprünge 229
4.14 Endlosschleifen 233
5 Terminal-Ein- und Ausgabe 237
5.1 Von Terminals zu Pseudo-Terminals 237
5.2 Ausgabe 239
5.3 Eingabe 253
5.4 Umlenken mit dem Befehl exec 278
5.5 Filedeskriptoren 281
5.6 Named Pipes 286
5.7 Menüs mit select (Bash und Korn-Shell only) 289
5.8 dialog und Xdialog 294
5.9 gnuplot - Visualisierung von Messdaten 306
6 Funktionen 333
6.1 Definition 333
6.2 Funktionen, die Funktionen aufrufen 340
6.3 Parameterübergabe 342
6.4 Rückgabewert aus einer Funktion 346
6.5 Lokale contra globale Variablen 351
6.6 alias und unalias 355
6.7 Autoload (Korn-Shell only) 357
7 Signale 359
7.1 Grundlagen zu den Signalen 359
7.2 Signale senden - kill 363
7.3 Eine Fallgrube für Signale - trap 364
8 Rund um die Ausführung von Scripts und Prozessen 375
8.1 Prozessprioritäten 375
8.2 Warten auf andere Prozesse 376
8.3 Hintergrundprozess wieder hervorholen 377
8.4 Hintergrundprozess schützen 378
8.5 Subshells 379
8.6 Mehrere Scripts verbinden und ausführen (Kommunikation zwischen Scripts) 381
8.7 Jobverwaltung 388
8.8 Shellscripts zeitgesteuert ausführen 391
8.9 Startprozess- und Profildaten der Shell 396
8.10 Ein Shellscript bei der Ausführung 404
8.11 Shellscripts optimieren 406
9 Nützliche Funktionen 409
9.1 Der Befehl eval 409
9.2 xargs 412
9.3 dirname und basename 414
9.4 umask 415
9.5 ulimit (Builtin) 416
9.6 time 418
9.7 typeset 419
10 Fehlersuche und Debugging 421
10.1 Strategien zum Vermeiden von Fehlern 421
10.2 Fehlerarten 425
10.3 Fehlersuche 426
11 Reguläre Ausdrücke und grep 437
11.1 Reguläre Ausdrücke - die Theorie 437
11.2 grep 441
12 Der Stream-Editor sed 455
12.1 Funktions- und Anwendungsweise von sed 455
12.2 Der sed-Befehl 459
12.3 Adressen 460
12.4 Kommandos, Substitutionsflags und Optionen von sed 462
12.5 sed-Scripts 478
13 awk-Programmierung 483
13.1 Einführung und Grundlagen von awk 483
13.2 Aufruf von awk-Programmen 486
13.3 Grundlegende awk-Programme und -Elemente 491
13.4 Muster (bzw. Adressen) von awk-Scripts 498
13.5 Die Komponenten von awk-Scripts 506
13.6 Funktionen 527
13.7 Empfehlung 542
14 Linux-UNIX-Kommandoreferenz 543
14.1 Kurzübersicht 544
14.2 Dateiorientierte Kommandos 551
14.3 Verzeichnisorientierte Kommandos 572
14.4 Verwaltung von Benutzern und Gruppe 573
14.5 Programm- und Prozessverwaltung 578
14.6 Speicherplatzinformationen 585
14.7 Dateisystem-Kommandos 587
14.8 Archivierung und Backup 599
14.9 Systeminformationen 613
14.10 System-Kommandos 615
14.11 Druckeradministration 617
14.12 Netzwerkbefehle 618
14.13 Benutzerkommunikation 636
14.14 Bildschirm- und Terminalkommandos 637
14.15 Online-Hilfen 640
14.16 Alles rund um PostScript-Kommandos 642
14.17 Gemischte Kommandos 642
15 Die Praxis 645
15.1 Alltägliche Lösungen 646
15.2 Datei-Utilities 650
15.3 Systemadministration 654
15.4 Backup-Strategien 679
15.5 World Wide Web und HTML 702
15.6 CGI (Common Gateway Interface) 710
16 GUIs mit Tcl/Tk 725
16.1 Was ist und was kann Tcl/Tk? 725
16.2 Ein Tcl/Tk-Skript starten 726
16.3 Variablen 728
16.4 Einfache Ausgabe 729
16.5 Substitutionsmechanismen 729
16.6 Mathematische Ausdrücke 731
16.7 Programmstrukturen 731
16.8 Listen 736
16.9 Stringverarbeitung 736
16.10 Dateizugriff 736
16.11 Der Rest 739
16.12 Das Tk-Toolkit 739
16.13 Eine Einführung 740
16.14 Eine einfache Schaltfläche - button 741
16.15 Einzeiliges Textfeld - entry 742
16.16 Mehrzeiliger Text und ein Menü - text und menu 743
16.17 Mit Ereignissen verbinden - bind 747
16.18 Layoutmanager (Geometriemanager) - grid und pack 749
16.19 Eine Scrollleiste - scrollbar 754
16.20 Weitere Eingabe-Widgets - radiobutton, checkbutton, scale und spinbox 755
16.21 frame und labelframe 760
16.22 Listen - listbox 760
16.23 Darstellen von Grafiken - canvas 762
16.24 Ein geteiltes Fenster - panedwindow 763
16.25 Widgetübersicht 764
16.26 Dialoge (tk_) 765
16.27 Tile-Erweiterung (ttk_) 765
16.28 Weitere Empfehlungen 766
A Anhang 769
A.1 Shell-Builtin-Befehle 769
A.2 Externe Kommandos 771
A.3 Shell-Optionen 772
A.4 Shell-Variablen 773
A.5 Kommandozeile editieren 778
A.6 Wichtige Tastenkürzel (Kontrolltasten) 780
A.7 Initialisierungsdateien der Shells 781
A.8 Signale 782
A.9 Sonderzeichen und Zeichenklassen 784
A.10 Die Buch-DVD 785
Index 787
1.1 Voraussetzungen an den Leser 29
1.2 Was ist eine Shell? 32
1.3 Hauptanwendungsgebiet 34
1.4 Kommando, Programm oder Shellscript? 38
1.5 Die Shell-Vielfalt 40
1.6 Betriebssysteme 43
1.7 Crashkurs: einfacher Umgang mit der Kommandozeile 44
1.8 Shellscripts schreiben und ausführen 57
1.9 Vom Shellscript zum Prozess 71
1.10 Datenstrom 74
1.11 Empfehlung 92
2 Variablen 93
2.1 Grundlagen 93
2.2 Zahlen 98
2.3 Zeichenketten 107
2.4 Quotings und Kommando-Substitution 118
2.5 Arrays (Bash und Korn-Shell only) 124
2.6 Variablen exportieren 130
2.7 Umgebungsvariablen eines Prozesses 136
2.8 Shell-Variablen 137
2.9 Automatische Variablen der Shell 142
3 Parameter und Argumente 149
3.1 Einführung 149
3.2 Kommandozeilenparameter $1 bis $9 149
3.3 Besondere Parameter 151
3.4 Der Befehl shift 154
3.5 Argumente und Leerzeichen 156
3.6 Argumente jenseits von $9 157
3.7 Argumente setzen mit set und Kommando-Substitution 159
3.8 getopts - Kommandozeilenoptionen auswerten 162
3.9 Vorgabewerte für Variablen 165
4 Kontrollstrukturen 169
4.1 Bedingte Anweisung mit if 169
4.2 Die else-Alternative für eine if-Verzweigung 177
4.3 Mehrfache Alternative mit elif 179
4.4 Das Kommando test 182
4.5 Status von Dateien erfragen 194
4.6 Logische Verknüpfung von Ausdrücken 197
4.7 Short Circuit-Tests - ergebnisabhängige Befehlsausführung 203
4.8 Die Anweisung case 206
4.9 Schleifen 213
4.10 for-Schleife 214
4.11 Die while-Schleife 224
4.12 Die until-Schleife 226
4.13 Kontrollierte Sprünge 229
4.14 Endlosschleifen 233
5 Terminal-Ein- und Ausgabe 237
5.1 Von Terminals zu Pseudo-Terminals 237
5.2 Ausgabe 239
5.3 Eingabe 253
5.4 Umlenken mit dem Befehl exec 278
5.5 Filedeskriptoren 281
5.6 Named Pipes 286
5.7 Menüs mit select (Bash und Korn-Shell only) 289
5.8 dialog und Xdialog 294
5.9 gnuplot - Visualisierung von Messdaten 306
6 Funktionen 333
6.1 Definition 333
6.2 Funktionen, die Funktionen aufrufen 340
6.3 Parameterübergabe 342
6.4 Rückgabewert aus einer Funktion 346
6.5 Lokale contra globale Variablen 351
6.6 alias und unalias 355
6.7 Autoload (Korn-Shell only) 357
7 Signale 359
7.1 Grundlagen zu den Signalen 359
7.2 Signale senden - kill 363
7.3 Eine Fallgrube für Signale - trap 364
8 Rund um die Ausführung von Scripts und Prozessen 375
8.1 Prozessprioritäten 375
8.2 Warten auf andere Prozesse 376
8.3 Hintergrundprozess wieder hervorholen 377
8.4 Hintergrundprozess schützen 378
8.5 Subshells 379
8.6 Mehrere Scripts verbinden und ausführen (Kommunikation zwischen Scripts) 381
8.7 Jobverwaltung 388
8.8 Shellscripts zeitgesteuert ausführen 391
8.9 Startprozess- und Profildaten der Shell 396
8.10 Ein Shellscript bei der Ausführung 404
8.11 Shellscripts optimieren 406
9 Nützliche Funktionen 409
9.1 Der Befehl eval 409
9.2 xargs 412
9.3 dirname und basename 414
9.4 umask 415
9.5 ulimit (Builtin) 416
9.6 time 418
9.7 typeset 419
10 Fehlersuche und Debugging 421
10.1 Strategien zum Vermeiden von Fehlern 421
10.2 Fehlerarten 425
10.3 Fehlersuche 426
11 Reguläre Ausdrücke und grep 437
11.1 Reguläre Ausdrücke - die Theorie 437
11.2 grep 441
12 Der Stream-Editor sed 455
12.1 Funktions- und Anwendungsweise von sed 455
12.2 Der sed-Befehl 459
12.3 Adressen 460
12.4 Kommandos, Substitutionsflags und Optionen von sed 462
12.5 sed-Scripts 478
13 awk-Programmierung 483
13.1 Einführung und Grundlagen von awk 483
13.2 Aufruf von awk-Programmen 486
13.3 Grundlegende awk-Programme und -Elemente 491
13.4 Muster (bzw. Adressen) von awk-Scripts 498
13.5 Die Komponenten von awk-Scripts 506
13.6 Funktionen 527
13.7 Empfehlung 542
14 Linux-UNIX-Kommandoreferenz 543
14.1 Kurzübersicht 544
14.2 Dateiorientierte Kommandos 551
14.3 Verzeichnisorientierte Kommandos 572
14.4 Verwaltung von Benutzern und Gruppe 573
14.5 Programm- und Prozessverwaltung 578
14.6 Speicherplatzinformationen 585
14.7 Dateisystem-Kommandos 587
14.8 Archivierung und Backup 599
14.9 Systeminformationen 613
14.10 System-Kommandos 615
14.11 Druckeradministration 617
14.12 Netzwerkbefehle 618
14.13 Benutzerkommunikation 636
14.14 Bildschirm- und Terminalkommandos 637
14.15 Online-Hilfen 640
14.16 Alles rund um PostScript-Kommandos 642
14.17 Gemischte Kommandos 642
15 Die Praxis 645
15.1 Alltägliche Lösungen 646
15.2 Datei-Utilities 650
15.3 Systemadministration 654
15.4 Backup-Strategien 679
15.5 World Wide Web und HTML 702
15.6 CGI (Common Gateway Interface) 710
16 GUIs mit Tcl/Tk 725
16.1 Was ist und was kann Tcl/Tk? 725
16.2 Ein Tcl/Tk-Skript starten 726
16.3 Variablen 728
16.4 Einfache Ausgabe 729
16.5 Substitutionsmechanismen 729
16.6 Mathematische Ausdrücke 731
16.7 Programmstrukturen 731
16.8 Listen 736
16.9 Stringverarbeitung 736
16.10 Dateizugriff 736
16.11 Der Rest 739
16.12 Das Tk-Toolkit 739
16.13 Eine Einführung 740
16.14 Eine einfache Schaltfläche - button 741
16.15 Einzeiliges Textfeld - entry 742
16.16 Mehrzeiliger Text und ein Menü - text und menu 743
16.17 Mit Ereignissen verbinden - bind 747
16.18 Layoutmanager (Geometriemanager) - grid und pack 749
16.19 Eine Scrollleiste - scrollbar 754
16.20 Weitere Eingabe-Widgets - radiobutton, checkbutton, scale und spinbox 755
16.21 frame und labelframe 760
16.22 Listen - listbox 760
16.23 Darstellen von Grafiken - canvas 762
16.24 Ein geteiltes Fenster - panedwindow 763
16.25 Widgetübersicht 764
16.26 Dialoge (tk_) 765
16.27 Tile-Erweiterung (ttk_) 765
16.28 Weitere Empfehlungen 766
A Anhang 769
A.1 Shell-Builtin-Befehle 769
A.2 Externe Kommandos 771
A.3 Shell-Optionen 772
A.4 Shell-Variablen 773
A.5 Kommandozeile editieren 778
A.6 Wichtige Tastenkürzel (Kontrolltasten) 780
A.7 Initialisierungsdateien der Shells 781
A.8 Signale 782
A.9 Sonderzeichen und Zeichenklassen 784
A.10 Die Buch-DVD 785
Index 787