Quoting in Shell-Kommandos
CIP Index Up Right

Quoting in Shell-Kommandos

Es gibt eine ganze Reihe von Zeichen, die von der Shell besonders behandelt werden, wenn sie in der Eingabezeile auftauchen. Diese Zeichen werden dann im allgemeinen nicht dem aufgerufenen Programm als Teil der Parameter übergeben, sondern steuern die Interpretation der Kommandozeile durch die Shell.

Indem man Teile einer Kommandozeile in Anführungszeichen oder einzelne Zeichen hinter ein Backslash setzt, nimmt man ihnen ihre spezielle Bedeutung für die Shell. Auf diese Weise kann man alle bzw. einige der folgenden Schritte in der Lexikalischen Analyse der Shell-Eingabezeile verhindern.

Dabei sind EinfachHochkommas (') stärker als doppelte ("), das heißt zum Beispiel, daß Variablenersetzung in doppelt gequoteten Strings noch stattfindet, in einfachen nicht. Näheres in den folgenden Abschnitten zum Command line Parsing der Shell. Die gequotete Zeichenkette wird in jedem Fall als ein Wort behandelt, auch wenn sie ein oder mehrere Leerzeichen enthält.

Mit der Voranstellung eines Backslash (\) nimmt man genau einem Zeichen seine besondere Bedeutung. Einen Backslash selber kann man als Parameterzeichen übergeben mit \\.

Backquotes

Anmerkung: Es gibt außerdem noch die Einschließung eines Strings in rückwärts gerichtete Hochkommas: "`". Dies hat jedoch nichts mit obigem Quoting zu tun; der darin eingeschlossene String wird als eigene Kommandozeile zuerst ausgeführt, und die Ausgabe dieses Kommandos dann anstelle des Strings in die ursprüngliche Kommandozeile eingesetzt. Beispiel: Nehmen wir an, in der Datei xy steht der String "DEMO". Dann führt das Kommando echo `cat xy` zur Ausgabe von "DEMO" auf dem Bildschirm.