# Die Sonderzeichen

`;` | Trennt Kommandos
`:` | "Dummy"-Kommando, tut nichts
`.` | Kommando ohne eigene Subshell ausführen (eine Art "include"). Beispiel `. datei` - der Punkt im Shell-Skript wird durch den Inhalt von `datei` ersetzt.
`#` | Kommentar (bis zum Newline)
`#!/bin/sh` | Das Shell-Programm wird von der angegebenen Shell ausgeführt. Für die Shell selbst ist diese Zeile ein Kommentar, der Kernel erkennt hieraus das Dateiformat.
`&` | Programm im Hintergrund starten
`&&` | Bedingte Kommandoausführung Beispiel `com1 && com2` - com2 wird nur ausgeführt, wenn com1 erfolgreich war
`|` | Verbindet Ausgabe eines Kommandos mit der Eingabe eines anderen (Pipe)
`||` | Bedingte Kommandoausführung Beispiel `com1 || com2` - com2 wird nur ausgeführt, wenn com1 einen Fehler liefert
`*` | Jokerzeichen, beliebig viele (auch Null) beliebige Zeichen
`?` | Jokerzeichen, genau ein beliebiges Zeichen
`[abc]` | Jokerzeichen, eines aus "abc"
`[ ausdruck ]` | Andere Schreibweise für "test"
`~` | Steht für das Homeverzeichnis
`>` | Umleitung der Ausgabe in eine Datei (vorhandene Datei ersetzen)
`>>` | Umleitung der Ausgabe in eine Datei (an Datei anhängen)
`>&` | Umleitung von Standardausgabe und -fehler (auch `&>`)
`<` | Umleitung der Eingabe (z.B Lesen aus Datei)
`<< ende` | Lesen aus Datei bis "ende"
`(...)` | Kommandos innerhalb der Klammern werden in einer Shell ausgeführt
`{...}` | Kommandos gruppieren
`{ , , }` | Zeichenketten zusammensetzen
`$` | Inhalt von Variablen (`$PATH`)
`$*` oder `$@` | Liste der an das Shell-Programm übergebenen Parameter
`$#` | Anzahl der übergebenen Parameter
`$0` | Name des Shell-Programms
`$?` | Rückgabewert des letzten Kommandos
`$!` | PID des letzten Hintergrundprozesses
`$$` | PID der aktuellen Shell
`$1 .. $9` | Parameter 1 bis 9
`$(...)` | Kommandosubstitution
`${...}` | Funktionen zur Manipulation von Zeichenketten
`$[...]` | Arithmetische Berechnung
`"..."` | Auswertung ausgewählter Sonderzeichen verhindern (z.B. behält `$` seine Wirkung)
`´...´` | Auswertung sämtlicher Sonderzeichen verhindern
``...`` | Kommandosubstitution
`\zeichen` | Hebt Wirkung der Sonderzeichens auf