bash - Einstieg in die Shell-Programmierung
von: Patrick Ditchen, Martin Schulte
mitp Verlags GmbH & Co. KG, 2018
ISBN: 9783958455566
Sprache: Deutsch
216 Seiten, Download: 1624 KB
Format: PDF, auch als Online-Lesen
Cover | 1 | ||
Titel | 1 | ||
Impressum | 6 | ||
Einführung | 15 | ||
Was ist eine Shell? | 15 | ||
Was ist die bash? | 16 | ||
Warum mit der Shell programmieren? | 17 | ||
Alternativen | 18 | ||
Was Sie noch brauchen | 19 | ||
Links | 20 | ||
Grundfunktion der Kommandozeile | 21 | ||
Optionen | 22 | ||
Funktion und Optionen eines Kommandos anzeigen | 25 | ||
Kommentarzeichen | 25 | ||
IO-Redirection in Dateien | 25 | ||
Quoting | 28 | ||
Zwei Kommandos in einer Zeile | 30 | ||
Filename Expansion | 31 | ||
Wichtige Kommandos | 35 | ||
Aufrufkonventionen | 35 | ||
head | 36 | ||
tail | 38 | ||
uniq | 38 | ||
cut | 40 | ||
sort | 41 | ||
grep | 43 | ||
basename | 50 | ||
Pipes und Command Substitution | 53 | ||
Pipes | 53 | ||
Command Substitution | 57 | ||
Skripte erstellen | 61 | ||
Variablen | 65 | ||
Variablen setzen und auslesen | 65 | ||
Spezielle Variablen | 68 | ||
Argumente eines Skripts | 68 | ||
Der Exit-Status in $? | 71 | ||
Variableninhalte durch Programme setzen/bearbeiten | 74 | ||
&& und || | 75 | ||
Exit-Status von/in Skripten | 77 | ||
Umgebungsvariablen | 78 | ||
Operationen mit Variablen | 80 | ||
Weitere besondere Variablen | 82 | ||
PATH | 82 | ||
LANG | 85 | ||
$$ und PPID | 87 | ||
IFS | 87 | ||
Variablentypen | 88 | ||
Vergleiche und arithmetische Operationen | 91 | ||
test, [ | 92 | ||
Zahlvergleiche | 92 | ||
Stringvergleiche | 92 | ||
Tests in Dateien | 93 | ||
Logische Verknüpfungen | 95 | ||
Ein paar Besonderheiten des eingebauten test | 96 | ||
[[ | 97 | ||
Arithmetische Operationen | 98 | ||
Vergleiche mit arithmetischen Operationen | 99 | ||
Übersicht über alle arithmetischen Operationen | 99 | ||
{} | 101 | ||
expr, bc und dc | 103 | ||
expr | 103 | ||
bc | 104 | ||
dc | 106 | ||
Kontrollstrukturen | 109 | ||
if | 109 | ||
case | 111 | ||
while und until | 115 | ||
Geschachtelte Schleifen, break, continue | 117 | ||
until | 119 | ||
for | 119 | ||
C-like for | 120 | ||
select | 122 | ||
Verschiedenes und Vertiefendes | 125 | ||
Gemeinsame Ein- und Ausgabekanäle für mehrere Programme | 125 | ||
Grouping in der aktuellen Shell | 125 | ||
Grouping in einer Subshell | 126 | ||
Ein paar weitere Kommandos | 127 | ||
printf | 127 | ||
tr | 129 | ||
date | 130 | ||
eval | 131 | ||
getopt/getopts | 132 | ||
read | 139 | ||
find | 142 | ||
sed | 148 | ||
Advanced IO-Redirection | 152 | ||
here-Documents | 152 | ||
Process Substitution | 154 | ||
exec | 156 | ||
Named Pipes | 157 | ||
Funktionen und Aliases | 157 | ||
Funktionen | 158 | ||
Aliases | 162 | ||
Prozess- und Signal-Handling | 163 | ||
Background | 163 | ||
Signale | 164 | ||
Mehr zu Variablen | 167 | ||
Arrays | 167 | ||
Assoziative Arrays | 170 | ||
${varname@[QEPAa]} und $'...' | 172 | ||
awk | 175 | ||
awk-Varianten auf einem Debian 9-System | 175 | ||
Funktionsweise und Aufruf | 175 | ||
awk aufrufen | 176 | ||
Schreibweise | 177 | ||
Aufteilen einer Zeile in Felder | 177 | ||
$1, $2, $3,... | 177 | ||
$0, NF, $NF, $(NF-1) | 179 | ||
Felder verändern | 179 | ||
Field Separator und Record Separator | 180 | ||
Alternativer Feldtrenner: -F | 180 | ||
Mehrzeilige Datensätze und Record Separator RS | 180 | ||
Ausgaben mit print und printf | 181 | ||
BEGIN- und END-Block | 182 | ||
Selektionskriterien | 182 | ||
Selektieren mithilfe von Regular Expressions | 183 | ||
Selektieren über Zeilennummern: NR und FNR | 183 | ||
Selektieren über den Inhalt von Feldern | 184 | ||
Logische Operatoren | 184 | ||
Dynamisches Matching | 184 | ||
Selektionsbereiche | 185 | ||
Records überspringen | 185 | ||
Dateien überspringen | 185 | ||
Der Umgang mit Variablen | 185 | ||
Spezialvariablen | 186 | ||
Benutzerdefinierte Variablen | 186 | ||
Zählen und Aufsummieren | 187 | ||
Zahlen und Zeichenketten | 188 | ||
Mathematische Operatoren und Funktionen | 188 | ||
Zeichenkettenfunktionen | 189 | ||
Arrays | 191 | ||
Einzelne Elemente belegen | 191 | ||
Einzelne Elemente verwenden | 191 | ||
Elemente wieder löschen | 192 | ||
Komplette Arrays belegen | 192 | ||
Arrays in einer Schleife bearbeiten | 192 | ||
Arrays kopieren | 193 | ||
Assoziative Arrays | 193 | ||
Assoziative Arrays in einer Schleife bearbeiten | 194 | ||
Abrechnungen und Statistiken | 195 | ||
Zählen | 195 | ||
Addieren | 196 | ||
Mehrdimensionale Arrays | 197 | ||
Verzweigungen | 199 | ||
Die if-Anweisungen | 199 | ||
Numerische Vergleiche | 199 | ||
String-Vergleiche | 200 | ||
Logische Operatoren | 200 | ||
Der ternäre Operator | 200 | ||
Schleifen | 201 | ||
for-Schleife (1) | 201 | ||
for-Schleife (2) | 201 | ||
while-Schleife | 202 | ||
do-while-Schleife | 202 | ||
Sprungbefehle | 202 | ||
next | 203 | ||
break | 203 | ||
continue | 203 | ||
Benutzerdefinierte Funktionen | 204 | ||
Definition | 204 | ||
Parameterübergabe | 204 | ||
Aufruf | 206 | ||
Rückgabe von Werten | 206 | ||
Funktionsbibliotheken | 207 | ||
Argumente an awk übergeben | 207 | ||
Variablen mit -v setzen | 207 | ||
Weitere Variablen und Parameter auf der Kommandozeile | 208 | ||
Der Trick mit den Quotes | 208 | ||
Umgebung und Ländereinstellungen | 209 | ||
Die Shell-Umgebung | 209 | ||
Länderspezifische Einstellungen | 209 | ||
Ein- und Ausgabetechniken | 210 | ||
Ausgabefunktionen | 210 | ||
Ausgabeumlenkung | 210 | ||
Eingabefunktionen | 211 | ||
Von Tastatur lesen | 212 | ||
Aus zusätzlichen Dateien einlesen | 212 | ||
Mehrzeiler und unregelmäßige Zeilen | 213 | ||
Mehrzeilige Anordnung der Daten | 213 | ||
Arbeiten mit getline | 214 | ||
Arbeiten mit eindeutigen Merkmalen | 214 | ||
Unterschiedlich viele Felder | 215 |
Kategorien
Kategorien
Service
Info/Kontakt