Woche 4
Aufbau von Bash Commands
name argument1 argument2 -option1 -option2
name [argumente] [-optionen]
# Beispiel: Liste alle Dateien und Ordner auf, inklusive versteckter Dateien und Ordner
ls -l -a
Tipps
- Quoting:
-
-
''
- Single Quotes: Keine Interpretation von Sonderzeichen
-
-
-
""
- Double Quotes: Interpretation von Variablen und Sonderzeichen
-
- Escaping:
-
-
\
- Backslash: Escape von Sonderzeichen
-
Empfehlung: Quoting statt Escaping
Glob Patterns
Muster | Beschreibung |
---|---|
* |
Matcht 0 oder mehr Zeichen |
? |
Matcht genau ein Zeichen |
[...] |
Matcht ein Zeichen aus der Liste |
[!...] |
Matcht ein Zeichen, das nicht in der Liste ist |
{...} |
Matcht eines der Muster in der Liste |
Anmerkung: KEIN Regex, sind aber ansatzweise ähnlich
Spezielle Zeichen
Zeichen | Name | Beschreibung |
---|---|---|
Whitespace |
Bestimmen | Bestimmt, wo Wörter beginnen und enden. |
$ |
Expansion | Leitet eine Variable oder einen Parameterersatz ein. |
' |
Single Quotes | Text bleibt wortwörtlich, Sonderzeichen werden ignoriert. |
" |
Double Quotes | Schützt vor word splitting, erlaubt aber Expansions. Die meisten Sonderzeichen werden ignoriert. |
\ |
Escape | Charakter dahinter wird escaped, d. h. sie verlieren ihre spezielle Bedeutung. |
# |
Comment | Wird für Kommentare verwendet. Danach wird alles bis zum Zeilenende ignoriert. |
= |
Assignment | Weist einer Variablen einen Wert zu. Whitespace dazwischen sind nicht erlaubt |
| |
Pipe | Leitet die Ausgabe eines Befehls als Eingabe an einen anderen weiter |
* |
Wildcard | Steht für null oder mehr Zeichen in Dateinamen |
? |
Wildcard | Steht für genau ein beliebiges Zeichen in Dateinamen. |
< |
Input Redirection | Leitet Standarteingabe um |
> |
Output Redirection | Leitet Standartausgabe in eine Datei um (Überschreibt) |
>> |
Appending Output Redirection | Leitet Standartausgabe in eine Datei um (Fügt an) |
2> |
Error Redirection | Leitet die Standardfehlerausgabe in eine Datei um |
2>&1 |
Combine Standard and Error Output | Leitet die Fehlerausgabe zur Standardausgabe |
~ |
Home Directory | Verweist auf das Heimverzeichnis des aktuellen Benutzers. |
Das habe ich gelernt
- Quoting und Escaping
- Glob Patterns
- Redirections
Wie in Woche 3 bereits erwähnt, hatte ich schon viel Erfahrung mit Bash Commands. Dennoch muss ich sagen, dass ich von Quoting kaum eine Ahnung hatte. Ich habe bei größeren/komplexeren Befehlen immer ein Mischmasch aus Quoting und Escaping verwendet und nie wirklich darauf geachtet, was ich da eigentlich mache. Das hat sich nun aber geändert und ich werde in Zukunft gezielter Quoting verwenden und auch nochmal die Bash Commands in Firmendokumentationen von mir überarbeiten. Ähnliches gilt auch für Redirections. Diese habe ich zwar auch schon verwendet, aber nie wirklich verstanden. Mir wurde als ich diese an der Arbeit verwendet habe immer gesagt, dass die "da so hin sollen" und ich habe das nicht weiter hinterfragt.