Einfache Shellsonderzeichen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | ==Was ist das?== | + | == Was ist das? == |
| − | *Shellsonderzeichen sind spezielle Zeichen, die in der Bash-Shell eine besondere Bedeutung haben und verwendet werden, um bestimmte Aktionen oder Funktionen auszuführen. | + | * Shellsonderzeichen sind spezielle Zeichen, die in der Bash-Shell eine besondere Bedeutung haben und verwendet werden, um bestimmte Aktionen oder Funktionen auszuführen. |
| − | *Ein Beispiel für ein Shellsonderzeichen ist das Dollarzeichen | + | * Ein Beispiel für ein Shellsonderzeichen ist das Dollarzeichen '''$''', das verwendet wird, um auf den Wert einer Variablen zuzugreifen oder Befehlsersetzung durchzuführen. |
| − | *Ein weiteres Shellsonderzeichen | + | * Ein weiteres Shellsonderzeichen sind die Anführungszeichen ('''"''', ''''''''''), die verwendet werden, um Zeichenketten zu definieren und festzulegen, welche Teile als Text oder Variableninterpretation behandelt werden sollen. |
| − | *Das Pipe-Symbol | + | * Das Pipe-Symbol '''|''' wird verwendet, um die Ausgabe eines Befehls an einen anderen Befehl weiterzuleiten und so die Verarbeitung von Datenketten (Pipelines) zu ermöglichen. |
| − | *Shellsonderzeichen sind ein wesentlicher Bestandteil des Shell-Skriptings und ermöglichen es, komplexe Aufgaben durch Kombination und Manipulation von Befehlen, Variablen und Datenströmen auszuführen. | + | * Shellsonderzeichen sind ein wesentlicher Bestandteil des Shell-Skriptings und ermöglichen es, komplexe Aufgaben durch Kombination und Manipulation von Befehlen, Variablen und Datenströmen auszuführen. |
| − | ==Tabelle== | + | |
| + | == Tabelle == | ||
{| class="wikitable" border="1" cellpadding="2" | {| class="wikitable" border="1" cellpadding="2" | ||
|- | |- | ||
| − | + | ! Zeichen | |
| − | + | ! Bedeutung | |
|- | |- | ||
| − | | | + | | ; |
| − | | | + | | Trennt Kommandos (werden nacheinander ausgeführt) |
|- | |- | ||
| − | | | + | | # |
| − | | | + | | Kommentar |
|- | |- | ||
| − | | | + | | & |
| − | | | + | | Programm im Hintergrund starten |
|- | |- | ||
| − | | | + | | <nowiki>|</nowiki> |
| − | | | + | | STDOUT von links wird zu STDIN von rechts weitergeleitet |
|- | |- | ||
| − | | | + | | * |
| − | | | + | | Steht für beliebig viele Zeichen (auch 0) |
|- | |- | ||
| − | | | + | | ? |
| − | | | + | | Steht für genau ein Zeichen |
|- | |- | ||
| − | | | + | | [abc] |
| − | | | + | | Steht für eines der Zeichen in [ ], hier '''a''', '''b''' oder '''c''' |
|- | |- | ||
| − | | | + | | ~ |
| − | | | + | | Das Homeverzeichnis |
|- | |- | ||
| − | | | + | | > und >> |
| − | | | + | | Leitet Ausgabe in eine Datei um – '''>''' überschreibt, '''>>''' hängt an |
|- | |- | ||
| − | | | + | | < |
| − | | | + | | Lesen aus Datei |
|- | |- | ||
| − | | | + | | 2>&1 |
| − | | | + | | Leitet '''STDERR''' auf '''STDOUT''' um |
|- | |- | ||
| − | | | + | | << Ende |
| − | | | + | | Lesen bis zur Markierung (Here-Document) |
|- | |- | ||
| − | | | + | | { , , , } |
| − | | | + | | Zeichenketten oder Werte kombinieren (Brace Expansion) |
|- | |- | ||
| − | | | + | | !! |
| − | | | + | | Führt den letzten Befehl erneut aus |
|- | |- | ||
| − | | | + | | !$ |
| − | | | + | | Fügt das letzte Argument des letzten Befehls ein |
|- | |- | ||
| + | | "..." | ||
| + | | Entwertet Sonderzeichen außer '''$''', '''' ''', '''\''' und '''!''' | ||
| + | |- | ||
| + | | '...' | ||
| + | | Entwertet alle Sonderzeichen außer '''' ''' selbst | ||
| + | |- | ||
| + | | \ | ||
| + | | Entwertet (escaped) das folgende Sonderzeichen | ||
| + | |- | ||
| + | | } | ||
| + | | Schließt eine Blockstruktur (z. B. Funktion oder Codeblock) | ||
|} | |} | ||
| + | |||
| + | == Aufgaben == | ||
| + | == Aufgabe 1 – Sonderzeichen im Einsatz == | ||
| + | * Experimentieren Sie mit den folgenden Befehlen: | ||
| + | ** '''echo $USER''' | ||
| + | ** '''echo "$USER"''' | ||
| + | ** '''echo '$USER' ''' | ||
| + | ** '''echo \$USER''' | ||
| + | ** Was stellen Sie fest? | ||
| + | |||
| + | == Aufgabe 2 – Jokerzeichen (Wildcards) == | ||
| + | * Erstellen Sie Testdateien (''a1.txt'', ''a2.txt'', ''b1.txt''). | ||
| + | * Testen Sie die folgenden Kommandos und notieren Sie die Unterschiede: | ||
| + | ** '''ls a*.txt''' | ||
| + | ** '''ls ?.txt''' | ||
| + | ** '''ls [ab]1.txt''' | ||
Aktuelle Version vom 12. November 2025, 11:14 Uhr
Was ist das?
- Shellsonderzeichen sind spezielle Zeichen, die in der Bash-Shell eine besondere Bedeutung haben und verwendet werden, um bestimmte Aktionen oder Funktionen auszuführen.
- Ein Beispiel für ein Shellsonderzeichen ist das Dollarzeichen $, das verwendet wird, um auf den Wert einer Variablen zuzugreifen oder Befehlsersetzung durchzuführen.
- Ein weiteres Shellsonderzeichen sind die Anführungszeichen ('", '''''), die verwendet werden, um Zeichenketten zu definieren und festzulegen, welche Teile als Text oder Variableninterpretation behandelt werden sollen.
- Das Pipe-Symbol | wird verwendet, um die Ausgabe eines Befehls an einen anderen Befehl weiterzuleiten und so die Verarbeitung von Datenketten (Pipelines) zu ermöglichen.
- Shellsonderzeichen sind ein wesentlicher Bestandteil des Shell-Skriptings und ermöglichen es, komplexe Aufgaben durch Kombination und Manipulation von Befehlen, Variablen und Datenströmen auszuführen.
Tabelle
| Zeichen | Bedeutung |
|---|---|
| ; | Trennt Kommandos (werden nacheinander ausgeführt) |
| # | Kommentar |
| & | Programm im Hintergrund starten |
| | | STDOUT von links wird zu STDIN von rechts weitergeleitet |
| * | Steht für beliebig viele Zeichen (auch 0) |
| ? | Steht für genau ein Zeichen |
| [abc] | Steht für eines der Zeichen in [ ], hier a, b oder c |
| ~ | Das Homeverzeichnis |
| > und >> | Leitet Ausgabe in eine Datei um – > überschreibt, >> hängt an |
| < | Lesen aus Datei |
| 2>&1 | Leitet STDERR auf STDOUT um |
| << Ende | Lesen bis zur Markierung (Here-Document) |
| { , , , } | Zeichenketten oder Werte kombinieren (Brace Expansion) |
| !! | Führt den letzten Befehl erneut aus |
| !$ | Fügt das letzte Argument des letzten Befehls ein |
| "..." | Entwertet Sonderzeichen außer $, ' , \ und ! |
| '...' | Entwertet alle Sonderzeichen außer ' selbst |
| \ | Entwertet (escaped) das folgende Sonderzeichen |
| } | Schließt eine Blockstruktur (z. B. Funktion oder Codeblock) |
Aufgaben
Aufgabe 1 – Sonderzeichen im Einsatz
- Experimentieren Sie mit den folgenden Befehlen:
- echo $USER
- echo "$USER"
- echo '$USER'
- echo \$USER
- Was stellen Sie fest?
Aufgabe 2 – Jokerzeichen (Wildcards)
- Erstellen Sie Testdateien (a1.txt, a2.txt, b1.txt).
- Testen Sie die folgenden Kommandos und notieren Sie die Unterschiede:
- ls a*.txt
- ls ?.txt
- ls [ab]1.txt