Auf den letzten Seiten wurden verschiedene Zeichen beschrieben, die für die Shell eine Sonderbedeutung haben, also nicht als einfache Buchstaben gewertet werden. So interpretiert die Shell beispielsweise den Strichpunkt als Trennung zwischen zwei Programmen, das Ampersand wird zur Anweisung ein Programm im Hintergrund zu starten oder das Kleiner- und Größerzeichen wird als Umleitung eines Datenkanals verstanden.

Wenn die Shell auf solche Zeichen stößt, wird sie bestimmte Vorgänge starten. Das muss nicht immer erwünscht sein. Manchmal kann es auch nötig sein, dass die Shell solche Zeilen nicht interpretieren darf. Nehmen wir ein Beispiel, es existiert eine Datei, die fatalerweise den Namen Müller&Co trägt. Wenn wir uns diese Datei mit dem Befehl less anschauen wollen, würden wir also jetzt schreiben

less Müller&Co

Die Shell würde das Ampersand aber missinterpretieren, sie würde davon ausgehen, dass es sich hier um zwei Befehle handelt, die gleichzeitig gestartet werden sollen. Der erste Befehl würde für die Shell

less Müller

lauten und der zweite, der gleichzeitig mit dem ersten ausgeführt werden sollte heißt

Co

Das würde wahrscheinlich dazu führen, dass beide Programmaufrufe scheitern, weil es weder die Datei Müller noch das Programm Co gibt.

Unter der Shell Sonderbedeutungen auszublenden

Um solche Sonderbedeutungen auszublenden gibt es drei verschiedene Methoden, die sich durch ihre „Stärke“ bzw. ihren Geltungsbereich unterscheiden:

„…“

Alle Sonderbedeutungen innerhalb der doppelten Anführungszeichen – außer die Auflösung von Shellvariablen – werden ausgeblendet.

‚…‘

Alle Sonderbedeutungen der Zeichen innerhalb der einfachen Hochkommas werden ausgeblendet.

\…

Die Sonderbedeutung des Zeichens, das dem Backslash folgt, wird ausgeblendet.

Schreibe einen Kommentar