Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:shell_sonderzeichen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

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