Einfache Shellsonderzeichen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(8 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 "$", das verwendet wird, um auf den Wert einer Variablen zuzugreifen oder Befehlsersetzung durchzufü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 ist das Anführungszeichen (", '), das verwendet wird, um Zeichenketten zu definieren und zu kennzeichnen, welche Teile als Text oder Variableninterpretation behandelt werden sollen.
+
* 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, um die Verarbeitung von Datenketten oder Pipelines zu ermöglichen.
+
* 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
|Trenne Kommandos
+
! Bedeutung
 
|-
 
|-
|#
+
| ;
|Kommentar
+
| Trennt Kommandos (werden nacheinander ausgeführt)
 
|-
 
|-
|&
+
| #
|Programm im Hintergrund starten
+
| Kommentar
 
|-
 
|-
|<nowiki>|</nowiki>
+
| &
|STDOUT von links wird zu STDIN von rechts
+
| Programm im Hintergrund starten
 
|-
 
|-
|*
+
| <nowiki>|</nowiki>
|steht für beliebig viel Zeichen auch 0
+
| STDOUT von links wird zu STDIN von rechts weitergeleitet
 
|-
 
|-
|?
+
| *
|steht für genau ein Zeichen  
+
| Steht für beliebig viele Zeichen (auch 0)
 
|-
 
|-
|[abc]
+
| ?
|steht für eins der Zeichen in [ ] hier a b oder c
+
| Steht für genau ein Zeichen
 
|-
 
|-
|~
+
| [abc]
|das Homeverzeichnis
+
| Steht für eines der Zeichen in [ ], hier '''a''', '''b''' oder '''c'''
 
|-
 
|-
|>    und    >>
+
| ~
|leite in Datei um  >  überschreibe    >> hänge an
+
| Das Homeverzeichnis
 
|-
 
|-
|<
+
| >  und  >>
|lesen aus Datei  
+
| Leitet Ausgabe in eine Datei um – '''>''' überschreibt, '''>>''' hängt an
 
|-
 
|-
|2>&1
+
| <
|leite STDERR auf STDOUT
+
| Lesen aus Datei
 
|-
 
|-
|<< ende
+
| 2>&1
|Lesen aus Datei (Heredokument)
+
| Leitet '''STDERR''' auf '''STDOUT''' um
 
|-
 
|-
|{ ,  ,  , }
+
| << Ende
|Zeichenketten zusammensetzen
+
| Lesen bis zur Markierung (Here-Document)
 
|-
 
|-
|"..."
+
| { , , , }
|Entwertung der Sonderzeichen außer $ ' \
+
| Zeichenketten oder Werte kombinieren (Brace Expansion)
 
|-
 
|-
|'...'
+
| !!
|Entwertung sämtlicher Sonderzeichen außer ' selbst
+
| Führt den letzten Befehl erneut aus
 
|-
 
|-
|
+
| !$
|Entwertung des folgenden Sonderzeichens
+
| 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