Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
admin_grundlagen:shell_sonderzeichen [2014/10/20 11:54] jansr typo korrigiert |
admin_grundlagen:shell_sonderzeichen [2021/11/02 22:15] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Die wichtigsten Shell Sonderzeichen ===== | ||
+ | |||
<file> | <file> | ||
~ - steht für den Namen des Heimatverzeichnisses | ~ - steht für den Namen des Heimatverzeichnisses | ||
- | $ - Variablen | + | $ - leitet einen Variablennamen ein |
- | * - Wildcard - Platzhalter für mehrere beliebige Zeichen | + | * - Wildcard - Platzhalter für 0 oder mehr beliebige Zeichen |
- | ? - genau ein gesuchtes Zeichen | + | ? - Wildcard - Platzhalter für genau ein beliebiges Zeichen |
- | [a-z] - steht für Platzhalter für Zeichen/Zeichenketten etc. | + | [a-z] - steht als Platzhalter für genau ein Zeichen aus der eckigen Klammer |
- | [^a-z] - steht für Platzhalter für Zeichen/Zeichenketten die nicht angegeben sind | + | [[:lower:]] - Zeichenklasse für Kleinbuchstaben, nicht von der Spracheinstellung abhängig, umfasst (bei korrekter Implentation) auch Buchstaben nicht-lateinischer Alphabete |
- | \ - entwertet das letzte Zeichen | + | [^a-z] - steht als Platzhalter für genau ein Zeichen, das nicht in der eckigen Klammer angegeben ist (alles außer ...) |
- | ' | + | | zwei Befehle mittels einer Pipe verbinden (kann wiederholt werden zu einer Pipe-Kette) |
- | " | + | |
- | | zwei Befehle verbinden | + | |
< aus Datei einlesen | < aus Datei einlesen | ||
- | > in Datei schreiben | + | > in Datei schreiben (diese wird überschrieben, falls bereits vorhanden) |
- | >> an Datei anhängen | + | >> an Datei anhängen (diese wird erstellt, falls noch nicht vorhanden) |
</file> | </file> | ||
+ | |||
+ | ====== Wie schütze ich Sonderzeichen (z. B. in Dateinamen)? ===== | ||
+ | * %%'...'%% - In Hochkommas stehende Zeichenketten werden von der Shell gar nicht interpretiert. | ||
+ | * %%"..."%% - Bei in Anführungsstrichen stehenden Zeichenketten führt die Shell kein Matching auf Dateinamen durch, und die Zerlegung in Wörter findet ebenfalls nicht statt. | ||
+ | * ''\'' - Ein Backslash schützt immer das folgende Zeichen vor der Interpretation durch die Shell. | ||
+ | |||
+ | '%%--%%' bedeutet __Ende aller Optionen__. Dies ist immer dann von Bedeutung, wenn eine Zeichenkette folgt, die als Option interpretiert werden könnte (wegen %%-%% oder %%--%% am Anfang), das jedoch nicht passieren soll. | ||
+ | touch -- -l | ||
+ | cp -a -v -- -l -a | ||
+ | rm -- -l -a |