Menu
CoddyTech

If-Anweisung

Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy. Lektion 70 von 82.

Bisher führen deine Skripte jeden Befehl von oben nach unten aus, ohne Entscheidungen zu treffen. Aber was, wenn dein Skript abhängig von bestimmten Bedingungen unterschiedliche Dinge tun soll? Hier kommt die if-Anweisung ins Spiel.

Die if-Anweisung ermöglicht es deinem Skript, Entscheidungen zu treffen. Sie prüft, ob eine Bedingung wahr ist, und führt in diesem Fall einen Codeblock aus. Hier ist die grundlegende Struktur:

#!/bin/bash
age=18
if [ $age -ge 18 ]; then
    echo "You are an adult"
fi

Die Bedingung steht in eckigen Klammern, mit Leerzeichen darum. Das Schlüsselwort then kennzeichnet den Beginn des auszuführenden Codes, und fi (rückwärts geschrieben) beendet die Anweisung.

Du kannst auch den Fall behandeln, in dem die Bedingung falsch ist, indem du else verwendest:

#!/bin/bash
age=15
if [ $age -ge 18 ]; then
    echo "You are an adult"
else
    echo "You are a minor"
fi

Zu den üblichen Vergleichsoperatoren für Zahlen gehören -eq (gleich), -ne (nicht gleich), -gt (größer als), -lt (kleiner als), -ge (größer oder gleich) und -le (kleiner oder gleich). Für Zeichenfolgen verwenden Sie = für Gleichheit und != für Ungleichheit.

Denke daran, innerhalb der Klammern immer Leerzeichen einzufügen und deine Variablen in Anführungszeichen zu setzen, um Fehler bei leeren Werten zu vermeiden.

challenge icon

Aufgabe

Einfach

Erstelle ein Shell-Skript namens check_score.sh, das eine if-Anweisung verwendet, um eine Testpunktzahl auszuwerten.

Dein Skript sollte:

  1. Mit der Shebang-Zeile (#!/bin/bash) beginnen
  2. Eine Variable namens score mit dem Wert 75 erstellen
  3. Eine if-Anweisung verwenden, um zu prüfen, ob die Punktzahl größer oder gleich 70 ist
  4. Wenn dies wahr ist, Folgendes ausgeben: You passed!
  5. Wenn dies falsch ist, Folgendes ausgeben: You failed.

Mach das Skript ausführbar und führe es aus. Da die Punktzahl 75 beträgt, sollte deine Ausgabe folgendermaßen aussehen:

You passed!

Hinweis: Denke daran, -ge für den Vergleich „größer oder gleich“ zu verwenden, Leerzeichen innerhalb der eckigen Klammern einzufügen und deine if-Anweisung mit fi zu beenden.

Hier gibt es keinen Datei-Editor. Schreibe die Datei daher direkt aus der Shell mit einem Here-Dokument: Gib cat > check_score.sh << 'EOF' ein, danach die Zeilen des Skripts und anschließend eine letzte Zeile, die nur EOF enthält.

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Terminal-Playground