Fluchtsymbol
Maskierungszeichen, wie beispielsweise das Escape-Steuerzeichen oder den Backslash
From Wikipedia, the free encyclopedia
Unter einem Fluchtsymbol versteht man in der Informatik ein besonderes Maskierungszeichen, wie beispielsweise das Escape-Steuerzeichen[1] oder den Backslash.[2] Mittels des Fluchtsymbols ist ein darauf folgendes Metazeichen ein normales Zeichen, das nun nicht mehr für seine vorgesehene Funktion steht.
Beispiel
In Unix-Dateisystemen sind außer dem Schrägstrich / und dem Nullwert \0 grundsätzlich alle anderen Zeichen erlaubt, somit auch Metazeichen und Wildcards.
Da auf einer Unix-Shell ein Sternchen (auch Asterisk) * normalerweise als Wildcard interpretiert wird, Dateinamen aber ein Sternchen enthalten dürfen, muss der Asterisk per Fluchtsymbol maskiert werden, wenn er nicht für ein Wildcard stehen soll:
Das Kommando:
# touch Dateiname\ mit\ \*\ im\ Namen.txt
erstellt eine leere Datei mit dem Namen Dateiname mit * im Namen.txt. Um nicht als zusätzlicher Kommandozeilenparameter interpretiert zu werden, müssen neben dem Sternchen auch die Leerzeichen maskiert werden, wenn der gesamte Name nicht in Anführungszeichen gesetzt wird:
# touch 'Dateiname mit * im Namen.txt'
Hier dient das einfache Anführungszeichen ' als Funktionszeichen: alles, was zwischen einem Paar gleicher Anführungszeichen liegt, kennzeichnet für die Shell ein einziges Argument; andernfalls würden die Leerzeichen als Funktionszeichen die Parameter trennen. Um nun auch Anführungszeichen in einem Dateinamen unterzubringen, müssen wiederum Fluchtsymbole verwendet werden:
# mv "Dateiname mit * im Namen.txt" Sonderzeichen\ \*,\ \?,\ \',\ \",\ \\,\ \$\ \(auszugsweise\)\ im\ Dateinamen.Erweiterung
Das Ergebnis dieses Unix-Kommandos ist, dass die zuvor erstellte leere Datei Dateiname mit * im Namen.txt (erstes Argument, diesmal zusammengefasst durch doppelte Anführungszeichen) umbenannt wird in Sonderzeichen *, ?, ', ", \, $ (auszugsweise) im Dateinamen.Erweiterung (zweites Argument, durchwegs per Fluchtsymbol zusammengefasst).