Bash Scripting Crash: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== 1. Grundstruktur eines Skripts == Ein Bash-Skript ist eine Textdatei, die eine Reihe von Befehlen enthält, die von der Bash-Shell ausgeführt werden. Jede…“) |
|||
| Zeile 1: | Zeile 1: | ||
| − | == | + | ==Grundstruktur eines Skripts == |
Ein Bash-Skript ist eine Textdatei, die eine Reihe von Befehlen enthält, die von der Bash-Shell ausgeführt werden. Jedes Skript beginnt mit der sogenannten Shebang-Zeile, die dem System mitteilt, dass das Skript mit der Bash-Shell ausgeführt werden soll. | Ein Bash-Skript ist eine Textdatei, die eine Reihe von Befehlen enthält, die von der Bash-Shell ausgeführt werden. Jedes Skript beginnt mit der sogenannten Shebang-Zeile, die dem System mitteilt, dass das Skript mit der Bash-Shell ausgeführt werden soll. | ||
| Zeile 9: | Zeile 9: | ||
</pre> | </pre> | ||
| − | == | + | ==Skript ausführbar machen == |
Um ein Skript auszuführen, musst du es ausführbar machen. Dies erfolgt mit dem Befehl `chmod`. | Um ein Skript auszuführen, musst du es ausführbar machen. Dies erfolgt mit dem Befehl `chmod`. | ||
| Zeile 24: | Zeile 24: | ||
</pre> | </pre> | ||
| − | == | + | ==Variablen == |
Variablen werden ohne Leerzeichen um das `=`-Zeichen deklariert. Der Wert einer Variablen wird mit `$` abgerufen. | Variablen werden ohne Leerzeichen um das `=`-Zeichen deklariert. Der Wert einer Variablen wird mit `$` abgerufen. | ||
| Zeile 35: | Zeile 35: | ||
</pre> | </pre> | ||
| − | == | + | ==Eingaben vom Benutzer lesen == |
Verwende den Befehl `read`, um Eingaben vom Benutzer zu erhalten. | Verwende den Befehl `read`, um Eingaben vom Benutzer zu erhalten. | ||
| Zeile 47: | Zeile 47: | ||
</pre> | </pre> | ||
| − | == | + | ==Bedingte Anweisungen (if-else) == |
Mit `if`, `else` und `elif` kannst du bedingte Logik im Skript implementieren. | Mit `if`, `else` und `elif` kannst du bedingte Logik im Skript implementieren. | ||
| Zeile 63: | Zeile 63: | ||
</pre> | </pre> | ||
| − | == | + | ==Schleifen == |
Es gibt zwei Arten von Schleifen in Bash: **For-Schleifen** und **While-Schleifen**. | Es gibt zwei Arten von Schleifen in Bash: **For-Schleifen** und **While-Schleifen**. | ||
| Zeile 85: | Zeile 85: | ||
</pre> | </pre> | ||
| − | == | + | ==Funktionen == |
Du kannst Funktionen erstellen, um wiederverwendbare Codeblöcke zu erstellen. | Du kannst Funktionen erstellen, um wiederverwendbare Codeblöcke zu erstellen. | ||
| Zeile 100: | Zeile 100: | ||
</pre> | </pre> | ||
| − | == | + | ==Befehlszeilenargumente == |
Du kannst auf Befehlszeilenargumente mit `$1`, `$2`, etc., oder mit `$@` für alle Argumente zugreifen. | Du kannst auf Befehlszeilenargumente mit `$1`, `$2`, etc., oder mit `$@` für alle Argumente zugreifen. | ||
| Zeile 116: | Zeile 116: | ||
</pre> | </pre> | ||
| − | == | + | ==Rückgabestatus == |
Jeder Befehl gibt einen Rückgabestatus-Code zurück (`0` für Erfolg, eine andere Zahl für Fehler). Du kannst den Rückgabestatus mit `$?` überprüfen. | Jeder Befehl gibt einen Rückgabestatus-Code zurück (`0` für Erfolg, eine andere Zahl für Fehler). Du kannst den Rückgabestatus mit `$?` überprüfen. | ||
| Zeile 133: | Zeile 133: | ||
</pre> | </pre> | ||
| − | == | + | ==Eingabe- und Ausgabeumleitung == |
Mit Bash kannst du Eingaben und Ausgaben umleiten: | Mit Bash kannst du Eingaben und Ausgaben umleiten: | ||
| Zeile 146: | Zeile 146: | ||
</pre> | </pre> | ||
| − | == | + | ==Fehlerbehandlung == |
Mit `set -e` kannst du das Skript so einstellen, dass es bei einem Fehler sofort beendet wird. | Mit `set -e` kannst du das Skript so einstellen, dass es bei einem Fehler sofort beendet wird. | ||
Version vom 26. November 2024, 23:58 Uhr
Grundstruktur eines Skripts
Ein Bash-Skript ist eine Textdatei, die eine Reihe von Befehlen enthält, die von der Bash-Shell ausgeführt werden. Jedes Skript beginnt mit der sogenannten Shebang-Zeile, die dem System mitteilt, dass das Skript mit der Bash-Shell ausgeführt werden soll.
Beispiel:
#!/bin/bash echo "Hallo, Welt!"
Skript ausführbar machen
Um ein Skript auszuführen, musst du es ausführbar machen. Dies erfolgt mit dem Befehl `chmod`.
Schritte: - Speichere das Skript, z.B. als `mein_script.sh`. - Mache das Skript ausführbar:
chmod +x mein_script.sh
- Führe das Skript aus:
./mein_script.sh
Variablen
Variablen werden ohne Leerzeichen um das `=`-Zeichen deklariert. Der Wert einer Variablen wird mit `$` abgerufen.
Beispiel:
#!/bin/bash name="Alice" echo "Hallo, $name!"
Eingaben vom Benutzer lesen
Verwende den Befehl `read`, um Eingaben vom Benutzer zu erhalten.
Beispiel:
#!/bin/bash echo "Gib deinen Namen ein:" read name echo "Hallo, $name!"
Bedingte Anweisungen (if-else)
Mit `if`, `else` und `elif` kannst du bedingte Logik im Skript implementieren.
Beispiel:
#!/bin/bash
echo "Gib eine Zahl ein:"
read num
if [ $num -gt 10 ]; then
echo "Größer als 10"
else
echo "Kleiner oder gleich 10"
fi
Schleifen
Es gibt zwei Arten von Schleifen in Bash: **For-Schleifen** und **While-Schleifen**.
- For-Schleife:**
for i in {1..5}
do
echo "Nummer: $i"
done
- While-Schleife:**
count=1
while [ $count -le 5 ]
do
echo "Zähler: $count"
((count++))
done
Funktionen
Du kannst Funktionen erstellen, um wiederverwendbare Codeblöcke zu erstellen.
Beispiel:
#!/bin/bash
greet() {
echo "Hallo, $1!"
}
greet "Alice"
greet "Bob"
Befehlszeilenargumente
Du kannst auf Befehlszeilenargumente mit `$1`, `$2`, etc., oder mit `$@` für alle Argumente zugreifen.
Beispiel:
#!/bin/bash echo "Erstes Argument: $1" echo "Alle Argumente: $@"
Führe das Skript mit folgenden Argumenten aus:
./mein_script.sh arg1 arg2 arg3
Rückgabestatus
Jeder Befehl gibt einen Rückgabestatus-Code zurück (`0` für Erfolg, eine andere Zahl für Fehler). Du kannst den Rückgabestatus mit `$?` überprüfen.
Beispiel:
#!/bin/bash
echo "Datei zum ausgeben?: "
read file
cat $file
if [ $? -eq 0 ]; then
echo "Der Befehl war erfolgreich!"
else
echo "Der Befehl ist fehlgeschlagen!"
fi
Eingabe- und Ausgabeumleitung
Mit Bash kannst du Eingaben und Ausgaben umleiten: - Ausgabe umleiten mit `>` (überschreibt eine Datei) oder `>>` (hängt an eine Datei an). - Eingabe umleiten mit `<`.
Beispiel:
#!/bin/bash echo "Dies ist die Ausgabe" > output.txt # Überschreibt die Datei echo "Weitere Ausgabe" >> output.txt # Hängt an die Datei an
Fehlerbehandlung
Mit `set -e` kannst du das Skript so einstellen, dass es bei einem Fehler sofort beendet wird.
Beispiel:
#!/bin/bash set -e echo "Dies wird funktionieren" non_existent_command # Dies wird das Skript beenden echo "Dies wird nicht ausgeführt"