Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
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 [2021/11/02 22:15] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Die wichtigsten Shell Sonderzeichen ===== | ||
- | <file> | ||
- | ~ - steht für den Namen des Heimatverzeichnisses | ||
- | $ - leitet einen Variablennamen ein | ||
- | * - Wildcard - Platzhalter für 0 oder mehr beliebige Zeichen | ||
- | ? - Wildcard - Platzhalter für genau ein beliebiges Zeichen | ||
- | [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 | ||
- | [^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. | ||
- | '...' - 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 | ||
- | > in Datei schreiben (diese wird überschrieben, falls bereits vorhanden) | ||
- | >> an Datei anhängen | ||
- | </file> | ||
- | |||
- | ====== Wie schütze ich Sonderzeichen (z. B. in Dateinamen)? ===== | ||
- | * ''\'' - 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. | ||
- | touch -- -l | ||
- | cp -a -v -- -l -a | ||
- | rm -- -l -a |