Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
admin_grundlagen:shell_sonderzeichen [2020/09/02 07:56] 127.0.0.1 Externe Bearbeitung |
admin_grundlagen:shell_sonderzeichen [2020/12/04 13:19] holger_jakobs |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== die wichtigsten Shell Sonderzeichen ===== | + | ====== 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 |
- | [[:lower:]] - besser Ausdruck, weil nicht von der Spracheinstellung abhängig | + | [[:lower:]] - Zeichenklasse für Kleinbuchstaben, nicht von der Spracheinstellung abhängig, umfasst (bei korrekter Implentation) auch Buchstaben nicht-lateinischer Alphabete |
- | [^a-z] - steht für Platzhalter für Zeichen/Zeichenketten, die nicht angegeben sind | + | [^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 | + | \ - entwertet das darauffolgende Zeichen, beraubt es also seiner Sonderbedeutung. |
- | ' | + | | zwei Befehle mittels einer Pipe verbinden |
- | " | + | |
- | | 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 | ||
</file> | </file> | ||
- | ====== wie schütze ich mich vor Sonderzeichen (z.B. in Dateinamen) ===== | + | ====== Wie schütze ich Sonderzeichen (z. B. in Dateinamen)? ===== |
- | * <file>'</file> | + | * %%'...'%% - In Hochkommas stehende Zeichenketten werden von der Shell gar nicht interpretiert. |
- | * <file>"</file> | + | * %%"..."%% - 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. |
- | * <file>\</file> | + | * ''\'' - Ein Backslash schützt immer das folgende Zeichen vor der Interpretation durch die Shell. |
- | * <file>--</file> | + | |
- | '--' bedeutet __Ende aller Optionen__ | + | '%%--%%' 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 | touch -- -l | ||
cp -a -v -- -l -a | cp -a -v -- -l -a | ||
rm -- -l -a | rm -- -l -a |