Sie sind hier
E-Book

Bash kurz & gut

AutorKarsten Günther
VerlagO'Reilly Verlag
Erscheinungsjahr2014
Seitenanzahl176 Seiten
ISBN9783955617653
FormatPDF/ePUB
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis12,90 EUR
Die Bash-Shell ist die Standard-Shell sowohl auf den meisten Linux-Systemen als auch unter Mac OS X und wurde auf fast alle Unix-Systeme portiert. Auch für Windows existieren zwei populäre Portierungen. Bash kurz & gut, 3. Auflage, beschreibt die wichtigsten Features der Version 4.2 sowie 4.3 (beta2), die von Chet Ramey, basieren auf einer Arbeit von Brian Fox, entwickelt wurde. Bash kurz & gut wurde speziell für Menschen konzipiert, die regelmäßig mit Bash arbeiten.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Kapitel 5. Umleitungen (Redirections)


Alle drei Standardkanäle, die voreingestellt mit dem kontrollierenden Terminal verbunden sind, und weitere Ein- bzw. Ausgabekanäle lassen sich mit Hilfe von Umleitungen oder Redirections mit anderen Kanälen oder Filedescriptoren verbinden.

Neue Kanäle erzeugen


Der eingebaute Befehl exec („Eingebaute Befehle, alphabetisch sortiert“) erlaubt das Bereitstellen und die Verwendung zusätzlicher Descriptoren. Eine Reihe von Redirection-Operatoren steuert in der Befehlszeile die Umleitungen. Tabelle 5.1 fasst sie zusammen. Ihnen kann eine Kanalnummer vorbzw. nachgestellt werden, um andere als die Standarddescriptoren zu adressieren. Die Standarddescriptoren sind:

  • Descriptor 0: Standardeingabekanal. Voreingestellt in der Tastatur verbunden, ließt Eingaben für Programme.

  • Descriptor 1: Standardausgabekanal. Voreingestellt mit dem Terminal verbunden, schreibt Ausgaben von Programmen.

  • Descriptor 2: Standardfehlerkanal. Oft mit dem Terminal verbunden, schreibt dort Fehlermeldungen und Warnungen.

Diese Descriptoren stehen immer zur Verfügung, die Bash verwendet sie voreingestellt. Eine Reihe von speziellen Dateinamen interpretiert die Bash als Filedescriptoren, wenn sie in einem Redirection-Kontext auftreten:

  • /dev/fd/Nummer: Erzeugt bzw. nutzt den Filedescriptor mit der angegebenen Nummer. Dupliziert ihn bei Bedarf.

  • /dev/stdin: dupliziert den Standardeingabekanal.

  • /dev/stdout: dupliziert den Standardausgabekanal.

  • /dev/stderr: dupliziert den Standardfehlerkanal.

  • /dev/tcp/Host/Port: Die Bash versucht (einen korrekten Host und Port vorausgesetzt), eine TCP-Verbindung zu dem Socket aufzubauen.

  • /dev/udp/Host/Port: Die Bash versucht eine UDP-Verbindung zu Host mit Port aufzubauen.

Mehrere Kanäle lassen sich verbinden, wobei die Reihenfolge eine entscheidende Rolle spielt: ...>file 2>&1 verbindet Standardfehlermit Standardausgabekanal und schreibt das Ergebnis nach file, während ... 2>&1 >file nur den Standardausgabekanal in file speichert.

Ab Version 4.0 kennt die Bash mit |& ein Synonym für 2>&1 |. Der Standardfehlerkanal wird in die Pipe umgeleitet.

Die meisten Redirection-Operatoren lassen sich für verschiedene Kanäle (n, m) anwenden. Die Angabe einer fehlerhaften Nummer (eines nicht existierenden Filedescriptors) führt zu einer Fehlermeldung vom Typ Redirection Error. In Verbindung mit & erzeugen die Operatoren neue Descriptoren als Kopie bestehender.

Der Unterschied zwischen > und >> besteht darin, dass > bestehende Files löscht und anschließend (leer) neu anlegt. >> hängt neue Inhalte an das Ende bereits bestehender Files an oder erstellt sie neu, falls sie bisher noch nicht existierten. Wichtig ist die Shelloption noclobber: Sie verhindert das Überschreiben bestehender Dateien. Da dies oft unhandlich in der Anwendung ist, ermöglicht der Operator >| auch bei aktivem noclobber (ebenfalls bei ungesetzter Option) bestehende Files zu überschreiben.

Das Öffnen eines Files gleichzeitig zum Lesen und Schreiben ist nur in Ausnahmefällen (bei Gerätedateien etwa) sinnvoll.

Ebenfalls ab Version 4 kennt die Bash diesen Operator:

&>> Datei verbindet Standardausgabe- und -fehlerkanal und leitet beide in die angegebene Datei.

Tabelle 5.1 Redirection-Operatoren; n, m sind wählbare Kanalnummern

Code

Funktion

<n

Eingabeumleitung, voreingestellt ist Kanal 0

n>

Ausgabeumleitung, voreingestellt ist Kanal 1

n& >file

Ausgabeumleitung von Kanal n in file

2>

Fehlerausgabeumleitung

2>&1

verbindet Standardausgabe- und -fehlerkanal

|&

Synonym für 2>&1, neu in Bash 4.0

n>&m

verbindet Kanal n mit m

>&file

Standardfehler- und -ausgabeumleitung in file

&>file

Standardfehler- und -ausgabeumleitung in file

n<file

file als Eingabekanal n

n>file

file als Ausgabekanal n, noclobber verhindert dies

n>|file

wie n>file, übersteuert noclobber

n>m

kopiert n als Ausgabekanal m

n<m

kopiert n als Eingabekanal m

n>>file

n als Ausgabekanal an file anhängen

&>>file

Standardfehler- und -ausgabe an file anhängen, neu in Bash 4.0

<&-

schließt den Standardeingabekanal

>&-

schließt den Standardausgabekanal

n<&-

schließt Eingabekanal n

n>&-

schließt Ausgabekanal n

n<>file

n als Ein- und Ausgabekanal mit file verbinden

<<[-]End

Here Document, durch End-String begrenzt

<<<End

Here String, durch End-String begrenzt

...|...

Pipe: verbindet linke Standardausgabe mit rechter Standardeingabe

Ab Version 4.1 expandiert die Bash links von Redirection-Operatoren Variablen und öffnet oder schließt (abhängig vom Operator) die vom Variableninhalt repräsentierten Filedescriptoren.

Ab Version 4.3: Mit dem neuen Feature {x}<word erlaubt die Bash Wörter in der Form {array[Index]} und kann dabei spezielle (Array-)Variablen verwenden, wie beispielsweise $BASH_XTRACEFD („Erweiterte Bash-Variablen“).

Die Bash hat dabei keinen Mechanismus, um sicherzustellen, dass x geöffnet bleibt.

Here Documents/Strings


Diese speziellen Umleitungen veranlassen die Shelleingaben so lange von der aktuellen Quelle zu lesen, bis eine End-Kennung erreicht ist. Dieser Kennung dürfen keine (unsichtbaren, nicht druckbaren oder sonstigen) Zeichen folgen, damit die Bash die Marke korrekt erkennt.

Innerhalb eines Here Documents/Strings führt die Bash keine Expandierungen oder Ersetzungen durch, sofern die End-Kennung eine Maskierung (Quotes, z.B. 'ENDE') aufweist.

Die Begrenzung selbst erkennt die Bash nach Entfernen der Maskierung(en), also in diesem Beispiel als ENDE.

Wenn die End-Kennung von keiner Maskierung umfasst wird, führt die Bash Parameter-, Befehls- und Prozessersetzungen und arithmetische Expandierungen innerhalb des Here...

Blick ins Buch

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Augenblick mal

Augenblick mal

Die Zeitschrift mit den guten Nachrichten "Augenblick mal" ist eine Zeitschrift, die in aktuellen Berichten, Interviews und Reportagen die biblische Botschaft und den christlichen Glauben ...

BEHINDERTEPÄDAGOGIK

BEHINDERTEPÄDAGOGIK

Für diese Fachzeitschrift arbeiten namhafte Persönlichkeiten aus den verschiedenen Fotschungs-, Lehr- und Praxisbereichen zusammen. Zu ihren Aufgaben gehören Prävention, Früherkennung, ...

bank und markt

bank und markt

Zeitschrift für Banking - die führende Fachzeitschrift für den Markt und Wettbewerb der Finanzdienstleister, erscheint seit 1972 monatlich. Leitthemen Absatz und Akquise im Multichannel ...

Computerwoche

Computerwoche

Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...

Courier

Courier

The Bayer CropScience Magazine for Modern AgriculturePflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und generell am Thema Interessierten, mit umfassender ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...