Bash-Scripting
Bedingungen und Schleifen
Kontrollstrukturen machen aus einer Kommandoliste ein Programm.
Nur wenn Sie diesen Button verwenden, wird Ihr Lernfortschritt lokal in diesem Browser gespeichert. Es erfolgt keine Übertragung an den Server.
if und [[ ... ]]
Bash bietet mit [[ ... ]] eine Shell-eigene Testsyntax. Sie eignet sich für Stringvergleiche, Dateitests und Muster. Für arithmetische Ausdrücke gibt es (( ... )).
if [[ -f $file ]]; then
printf '%s exists\n' "$file"
fi
if (( count > 10 )); then
echo 'many'
fifor-Schleifen
for ist ideal, wenn eine bekannte Liste von Werten oder Argumenten verarbeitet wird. Werte sollten wiederum korrekt gequotet werden.
for file in *.log; do
[[ -e $file ]] || continue
gzip -- "$file"
donewhile read
Für zeilenweise Eingabe ist IFS= read -r ein robustes Muster. -r verhindert, dass Backslashes als Escape-Zeichen interpretiert werden.
while IFS= read -r line; do
printf '%s\n' "$line"
done < input.txtÜbung
Jetzt selbst ausprobieren
Prüfen Sie, ob das erste Argument ein Verzeichnis ist, und geben Sie alle Argumente in einer Schleife aus.
Lösung / Hinweis anzeigen
Nutzen Sie `[[ -d ${1:-} ]]` und anschließend `for arg in "$@"; do ...; done`.
Wissenscheck
Was bedeutet Exit-Status 0 gewöhnlich?
Unix-Kommandos signalisieren Erfolg typischerweise mit Status 0.
Mit Trainer vertiefen
Dieses Thema als Schulung?
Auf linux-kurse.eu finden Sie Linux-, Administrations- und Bash-Schulungen von Bodenseo.
Linux-Schulungen ansehen