Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung | |||
|
admin_grundlagen:shell_sonderzeichen [2019/01/09 15:00] |
admin_grundlagen:shell_sonderzeichen [2021/11/02 22:15] (aktuell) |
||
|---|---|---|---|
| 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 ...) | ||
| + | | zwei Befehle mittels einer Pipe verbinden (kann wiederholt werden zu einer Pipe-Kette) | ||
| + | < aus Datei einlesen | ||
| + | > in Datei schreiben (diese wird überschrieben, falls bereits vorhanden) | ||
| + | >> an Datei anhängen (diese wird erstellt, falls noch nicht vorhanden) | ||
| + | </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 | ||