ebook img

Bash - Arbeiten und programmieren mit der Shell PDF

303 Pages·2012·2.56 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Bash - Arbeiten und programmieren mit der Shell

C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 Meißner: Bash C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 Christian Meißner Bash Arbeiten und programmieren mit der Shell C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 Alle in diesem Buch enthaltenen Programme, Darstellungen und Informationen wurden nach bestem Wissen erstellt. Dennoch sind Fehler nicht ganz auszuschließen. Aus diesem Grunde sind die in dem vorliegenden Buch enthaltenen Informationen mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.Autor(en),Herausgeber,ÜbersetzerundVerlagübernehmeninfolgedessenkeineVerantwor- tungundwerdenkeinedarausfolgendeHaftungübernehmen,dieaufirgendeineArtausderBenutzung dieser Informationen –oder Teilen davon –entsteht, auch nicht für die Verletzung vonPatentrechten, diedarausresultieren können.Ebensowenigübernehmen Autor(en)undVerlagdieGewährdafür,dass diebeschriebenen Verfahrenusw.freivonSchutzrechten Drittersind. Die in diesem Werk wiedergegebenen Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. werden ohne Gewährleistung der freien Verwendbarkeit benutzt und können auch ohne besondere Kennzeichnung eingetragene Marken oderWarenzeichen sein undalssolche dengesetzlichen Bestim- mungenunterliegen. DiesesWerkisturheberrechtlich geschützt.AlleRechte,auchdiederÜbersetzung, desNachdrucksund der Vervielfältigung des Buches – oder Teilen daraus – vorbehalten. Kein Teil des Werkes darf ohne schriftlicheGenehmigungdesVerlagsinirgendeinerForm(Druck,Fotokopie,Mikrofilmodereineman- derenVerfahren),auchnichtfürZweckederUnterrichtsgestaltung,reproduziertoderunterVerwendung elektronischer Systemeverarbeitet,vervielfältigt oderverbreitetwerden. Bibliografische Information DerDeutschen Nationalbibliothek DieDeutscheNationalbibliothekverzeichnet diesePublikation inderDeutschenNationalbibliografie; detaillierte bibliografische DatensindimInternetüberhttp://dnb.d-nb.de abrufbar. Copyright©2011OpenSourcePress,München Gesamtlektorat: Dr.MarkusWirtz Satz:OpenSourcePress(LATEX) Umschlaggestaltung: OlgaSaborov,OpenSourcePress ISBNderPrint-Ausgabe:978-3-941841-44-4 ISBN(E-Book,PDF)978-3-941841-87-1 http://www.opensourcepress.de C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 Inhaltsverzeichnis 1 Einführung 9 1.1 Geschichte derShells . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2 Bash-Versionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3 Bashkompilieren undinstallieren . . . . . . . . . . . . . . . . . 12 1.4 Danksagung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2 Grundlagen 15 2.1 Prozesskommunikation . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.1 Kanäle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.1.2 Umleitungen . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.1.3 Pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Kommandoersetzungen . . . . . . . . . . . . . . . . . . . . . . . 21 2.3 Kommandolisten . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.4 Rückgabewerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3 Linux-Tools 25 3.1 Toolsfürdentäglichen Bedarf . . . . . . . . . . . . . . . . . . . 25 3.1.1 cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.2 wc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.3 grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.4 tr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.5 cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.6 sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.7 less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.8 time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.9 date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5 C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 Inhaltsverzeichnis 3.1.10 mktemp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.11 uniq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.12 join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.13 tee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.1.14 awk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.1.15 sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.2 Reguläre Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3 Mustererkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.3.1 POSIX-Klassen . . . . . . . . . . . . . . . . . . . . . . . . 50 4 VomEinzeiler zumSkript 53 4.1 Klammerausdrücke . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2 Quotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3 Shellskripte vs.Batchdateien . . . . . . . . . . . . . . . . . . . . 57 4.3.1 Skripte aufrufen . . . . . . . . . . . . . . . . . . . . . . . 57 4.3.2 Skripte ausführbar machen . . . . . . . . . . . . . . . . 58 4.3.3 Namen vonSkripten . . . . . . . . . . . . . . . . . . . . 58 4.4 Shellskripte reloaded . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.1 Kommentare . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4.2 Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4.3 Parameterübergabe . . . . . . . . . . . . . . . . . . . . . 61 4.5 Paradigmen derBash . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.5.1 Subshells, PipesundScopes . . . . . . . . . . . . . . . . 63 4.5.2 Expansionen . . . . . . . . . . . . . . . . . . . . . . . . . 65 5 Variablen 69 5.1 Skalare Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.1.1 ZugriffaufVariablen . . . . . . . . . . . . . . . . . . . . 70 5.1.2 Erzeugen vonArrays . . . . . . . . . . . . . . . . . . . . 71 5.1.3 ZugriffaufArrays . . . . . . . . . . . . . . . . . . . . . . 73 5.2 Spezielle Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.3 Shell-Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.4 Parameter Expansion . . . . . . . . . . . . . . . . . . . . . . . . . 87 6 C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 Inhaltsverzeichnis 6 Programmstrukturen 97 6.1 Verzweigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.1.1 Bedingungsausdrücke . . . . . . . . . . . . . . . . . . . . 98 6.1.2 Bedingungen mitif . . . . . . . . . . . . . . . . . . . . . 99 6.1.3 Bedingungen mitcase . . . . . . . . . . . . . . . . . . .104 6.1.4 Verzweigungen beiBenutzereingaben . . . . . . . . . .107 6.2 Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 6.2.1 while-Schleife . . . . . . . . . . . . . . . . . . . . . . . .110 6.2.2 until-Schleife . . . . . . . . . . . . . . . . . . . . . . . . .112 6.2.3 do-while simulieren . . . . . . . . . . . . . . . . . . . . .113 6.2.4 for-Schleife . . . . . . . . . . . . . . . . . . . . . . . . . .115 7 Funktionen 119 7.1 Funktionsdefinition . . . . . . . . . . . . . . . . . . . . . . . . . .120 7.2 Seiteneffekte inFunktionen . . . . . . . . . . . . . . . . . . . . .121 7.3 Rückgabewert . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 7.4 Funktionsparameter . . . . . . . . . . . . . . . . . . . . . . . . .124 7.5 Funktionsbibliotheken . . . . . . . . . . . . . . . . . . . . . . . .127 8 Rechnen mitderBash 131 8.1 Arithmetische Ausdrücke . . . . . . . . . . . . . . . . . . . . . .131 8.2 Rechnen mitlet . . . . . . . . . . . . . . . . . . . . . . . . . . . .136 8.3 Rechnen mitexpr . . . . . . . . . . . . . . . . . . . . . . . . . . .137 8.4 Rechnen mitbc . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 8.5 Rechnen mitawk . . . . . . . . . . . . . . . . . . . . . . . . . . .140 9 Erweiterte Umleitungen 143 9.1 HereDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . .143 9.2 HereString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 9.3 Deskriptoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 9.3.1 Ein-undAusgabeumleitung . . . . . . . . . . . . . . . .152 9.3.2 Permanente Umleitungen mitexec . . . . . . . . . . . .155 9.3.3 Gleichzeitiges LesenundSchreiben vonDateien . . .159 9.3.4 Socketprogrammierung mitderBash . . . . . . . . . .163 9.4 Prozess-Substitution . . . . . . . . . . . . . . . . . . . . . . . . .169 C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" 7 Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2 Inhaltsverzeichnis 10 Bash-Builtins und-Optionen 175 10.1 Shell-Builtins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 10.1.1 Ausführungsreihenfolge . . . . . . . . . . . . . . . . . .177 10.1.2 Builtins fürEin-undAusgabe . . . . . . . . . . . . . . .181 10.1.3 Builtins fürdieArbeitmitVariablen . . . . . . . . . . .193 10.1.4 Builtins fürdenProgrammfluss . . . . . . . . . . . . . .197 10.1.5 Builtins fürDateisystemoperationen . . . . . . . . . . .205 10.1.6 Builtins zurUmgebungssteuerung . . . . . . . . . . . .214 10.1.7 Builtins fürShell- undSystemarbeiten . . . . . . . . . .224 10.1.8 Builtins zurJob-Kontrolle . . . . . . . . . . . . . . . . .235 10.1.9 Builtins fürdieHistory . . . . . . . . . . . . . . . . . . .243 10.2 Shell-Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . .247 10.2.1 Einfache Shell-Optionen . . . . . . . . . . . . . . . . . .247 10.2.2 Erweiterte Shell-Optionen . . . . . . . . . . . . . . . . .256 11 Textbasierte Benutzeroberflächen mitdialog 269 11.1 DasMenü-Widget . . . . . . . . . . . . . . . . . . . . . . . . . . .271 11.2 Textausgabe mitmsgbox . . . . . . . . . . . . . . . . . . . . . . .273 11.3 Kalender mitdialog . . . . . . . . . . . . . . . . . . . . . . . . . .273 11.4 Zeitanzeige mittimebox . . . . . . . . . . . . . . . . . . . . . . .274 11.5 Auswahllisten mitradiolist . . . . . . . . . . . . . . . . . . . . .275 11.6 Mehrfachauswahl mitchecklist . . . . . . . . . . . . . . . . . . .276 11.7 Dateibrowser mitfselect . . . . . . . . . . . . . . . . . . . . . . .276 11.8 Fortschrittsbalken mitgauge . . . . . . . . . . . . . . . . . . . .278 11.9 Benutzereingaben mitinputbox . . . . . . . . . . . . . . . . . .278 11.10 Eingabemenüs mitform . . . . . . . . . . . . . . . . . . . . . . .279 11.11 Passworteingaben mitpasswordbox . . . . . . . . . . . . . . . .281 11.12 Textdateien anzeigen mittextbox . . . . . . . . . . . . . . . . .282 11.13 Textdateien verfolgen mittailbox. . . . . . . . . . . . . . . . . .282 11.14 Entscheidungen mityesno . . . . . . . . . . . . . . . . . . . . .283 11.15 DasBeispielskript . . . . . . . . . . . . . . . . . . . . . . . . . . .284 11.16 Kaskadierte Widgets . . . . . . . . . . . . . . . . . . . . . . . . .289 8 C. Meissner: "Bash - Arbeiten und programmieren mit der Shell" Copyright (C) Open Source Press - Sonderausgabe openSUSE 12.2

Description:
Bash kompilieren und installieren . Für Einsteiger verwirrend, aber unbedingt zu berücksichtigen ist, dass es verschiedene . T?e?s?t?m?a?i?l?'
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.