Einfache Shellsonderzeichen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| (10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== 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 == | |||
{| 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, 13: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