next up previous contents index
Next: Quotierung Up: bash Previous: Der Status

Shell Grammatik

 

Reservierte Wörter

Wie bei jeder anderen Programmiersprache gibt es für die Sprache zur Shellprogrammierung reservierte Wörter. Diese Wörter dürfen nicht für Variablennamen oder zum Benennen von Scriptfunktionen benutzt werden. Sie werden nur erkannt, wenn sie ohne Anführungszeichen und als erstes Wort eines einfachen Kommandos oder als drittes Wort eines case- oder for-Kommandos auftreten.

Folgende Wörter sind reserviert:
! case do done elif else esac fi for function if in select then until while { }

Atome, Wörter, Token

Die ``Atome'' einer Kommandozeile -- auch als Wörter oder Token bezeichnet -- werden anhand bestimmter Trennzeichen identifiziert. Die einfachste und natürliche Trennung zweier Wörter findet durch Leerzeichen statt. Dabei ist die Anzahl der Trennzeichen gleichgültig. Anstelle von Leerzeichen können auch TABs benutzt werden. Wegen ihrer offenkundigen Ähnlichkeit werden diese Trenner auch als Blanks bezeichnet. 

Die folgenden zur Shellprogrammierung verwendeten Sonderzeichen führen automatisch auch zur Trennung von Wörtern:

| & ; ( ) < > und das Zeilenende (RETURN)

Diese Zeichen haben in jedem Fall spezielle Aufgaben und können deshalb nicht einfach innerhalb von Argumenten an ein Kommando übergeben werden. Eine Reihe weiterer Zeichen werden nur in bestimmten Situationen als Operatoren erkannt. In diesen Fällen können auch sie nicht innerhalb von Argumenten an ein Kommando weitergegeben werden. Besondere Aufmerksamkeit ist bei den folgenden Zeichen geboten:

! * ? $ ` ' { } [ ] ^ = # `` \

Wenn eines der oben genannten (Sonder-) Zeichen als Argument an ein Kommando übergeben werden soll, muß es für die Shell ``entwertet'' werden.

Kommandos -- nicht unbedingt einfach

In einem Multitasking-Betriebssystem macht es durchaus Sinn, mehr als ein Kommando in einer Zeile aufzurufen. So ein zusammengesetztes Kommando besteht aus mehreren einfachen Kommandos. Zur Trennung von einfachen Kommandos werden Kontrolloperatoren verwendet, die aus den oben genannten Sonderzeichen zusammengesetzt sind:

| & || && ; ;; ( )

Außer mit dem eigentlichen Kommandonamen (dem Namen der ausführbaren Datei) kann ein einfaches Kommando auch mit einer Zuweisung an eine Shellvariable beginnen.

Für jedes einfache Kommando können die offenen Datenkanäle umgeleitet, sowie neue erzeugt werden.



next up previous contents index
Next: Quotierung Up: bash Previous: Der Status



Linux Anwenderhandbuch -- Copyright 1993, 1994, 1995 S. Hetze, D. Hohndel, O. Kirch, M. Müller