Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:shell_sonderzeichen [2020/12/04 13:16] holger_jakobs [wie schütze ich mich vor Sonderzeichen (z.B. in Dateinamen)] |
admin_grundlagen:shell_sonderzeichen [2026/08/10 12:54] (aktuell) |
||
|---|---|---|---|
| Zeile 5: | Zeile 5: | ||
| $ - leitet einen Variablennamen ein | $ - leitet einen Variablennamen ein | ||
| * - Wildcard - Platzhalter für 0 oder mehr beliebige Zeichen | * - Wildcard - Platzhalter für 0 oder mehr beliebige Zeichen | ||
| + | |||
| + | ls a* - Dateien auflisten, die mit a beginnen | ||
| + | ls *b - Dateien auflisten, die mit b enden | ||
| + | ls a*z - Dateien auflisten, die mit a beginnen und mit z enden | ||
| + | ls *abc* - Dateien auflisten, die abc im Namen enthalten | ||
| + | |||
| ? - Wildcard - Platzhalter für genau ein beliebiges Zeichen | ? - Wildcard - Platzhalter für genau ein beliebiges Zeichen | ||
| [a-z] - steht als Platzhalter für genau ein Zeichen aus der eckigen Klammer | [a-z] - steht als Platzhalter für genau ein Zeichen aus der eckigen Klammer | ||
| [[:lower:]] - Zeichenklasse für Kleinbuchstaben, nicht von der Spracheinstellung abhängig, umfasst (bei korrekter Implentation) auch Buchstaben nicht-lateinischer Alphabete | [[:lower:]] - Zeichenklasse für Kleinbuchstaben, nicht von der Spracheinstellung abhängig, umfasst (bei korrekter Implentation) auch Buchstaben nicht-lateinischer Alphabete | ||
| [^a-z] - steht als Platzhalter für genau ein Zeichen, das nicht in der eckigen Klammer angegeben ist (alles außer ...) | [^a-z] - steht als Platzhalter für genau ein Zeichen, das nicht in der eckigen Klammer angegeben ist (alles außer ...) | ||
| - | \ - entwertet das darauffolgende Zeichen, beraubt es also seiner Sonderbedeutung. | + | | zwei Befehle mittels einer Pipe verbinden (kann wiederholt werden zu einer Pipe-Kette) |
| - | '...' - 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. | + | |
| - | | zwei Befehle mittels einer Pipe verbinden | + | |
| < aus Datei einlesen | < aus Datei einlesen | ||
| > in Datei schreiben (diese wird überschrieben, falls bereits vorhanden) | > 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)? ===== | ====== 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. | * ''\'' - Ein Backslash schützt immer das folgende Zeichen vor der Interpretation durch die Shell. | ||
| - | * Alternativ kann man eine Zeichenkette auch in einfache Hochkommas einschließen: | ||
| - | 'Beispiel einer geschützten Zeichenkette' | ||
| '%%--%%' 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. | '%%--%%' 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. | ||