Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Bash kurz & gut (eBook)

eBook Download: PDF
2014 | 3. Auflage
176 Seiten
O'Reilly Verlag
978-3-95561-765-3 (ISBN)

Lese- und Medienproben

Bash kurz & gut -  Karsten Günther
Systemvoraussetzungen
12,90 inkl. MwSt
(CHF 12,60)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
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.

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...

Erscheint lt. Verlag 18.6.2014
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte Bash • Bash-Shell • Linux • Shell • Shell-Programmierung • UNIX
ISBN-10 3-95561-765-3 / 3955617653
ISBN-13 978-3-95561-765-3 / 9783955617653
Haben Sie eine Frage zum Produkt?
PDFPDF (Ohne DRM)
Größe: 606 KB

Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopier­schutz. Eine Weiter­gabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persön­lichen Nutzung erwerben.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 34,10
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 30,70

von Carsten Bönnen; Volker Drees; André Fischer …

eBook Download (2024)
SAP Press (Verlag)
CHF 61,45