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

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

arznei-telegramm

arznei-telegramm

Das arznei-telegramm® informiert bereits im 53. Jahrgang Ärzte, Apotheker und andere Heilberufe über Nutzen und Risiken von Arzneimitteln. Das arznei-telegramm®  ist neutral und ...

AUTOCAD Magazin

AUTOCAD Magazin

Die herstellerunabhängige Fachzeitschrift wendet sich an alle Anwender und Entscheider, die mit Softwarelösungen von Autodesk arbeiten. Das Magazin gibt praktische ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

dental:spiegel

dental:spiegel

dental:spiegel - Das Magazin für das erfolgreiche Praxisteam. Der dental:spiegel gehört zu den Top 5 der reichweitenstärksten Fachzeitschriften für Zahnärzte in Deutschland (laut LA-DENT 2011 ...

DER PRAKTIKER

DER PRAKTIKER

Technische Fachzeitschrift aus der Praxis für die Praxis in allen Bereichen des Handwerks und der Industrie. “der praktiker“ ist die Fachzeitschrift für alle Bereiche der fügetechnischen ...

e-commerce magazin

e-commerce magazin

e-commerce magazin Die Redaktion des e-commerce magazin versteht sich als Mittler zwischen Anbietern und Markt und berichtet unabhängig, kompetent und kritisch über ...