Menu
Coddy logo textTech

If-Anweisung

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

Bisher führen Ihre Skripte jeden Befehl von oben nach unten aus, ohne jegliche Entscheidungsfindung. Aber was, wenn Sie möchten, dass Ihr Skript verschiedene Dinge je nach bestimmten Bedingungen tut? Genau hier kommt die if-Anweisung ins Spiel.

Die if-Anweisung ermöglicht es Ihrem Skript, Entscheidungen zu treffen. Sie prüft, ob eine Bedingung wahr ist, und falls ja, führt sie 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 wird in eckige Klammern mit Leerzeichen davor und danach gesetzt. Das then-Schlüsselwort markiert den Beginn des auszuführenden Codes, und fi („if“ rückwärts geschrieben) beendet die Anweisung.

Sie können den Fall, wenn die Bedingung falsch ist, auch mit else behandeln:

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

Gängige Vergleichsoperatoren für Zahlen umfassen -eq (gleich), -ne (ungleich), -gt (größer als), -lt (kleiner als), -ge (größer oder gleich) und -le (kleiner oder gleich). Für Strings verwenden Sie = für Gleichheit und != für Ungleichheit.

Denken Sie immer daran, Leerzeichen innerhalb der Klammern einzufügen und Ihre Variablen in Anführungszeichen zu setzen, um Fehler mit leeren Werten zu vermeiden.

challenge icon

Aufgabe

Einfach

Erstellen Sie ein Shell-Skript namens check_score.sh, das eine if-Anweisung verwendet, um eine Testnote zu bewerten.

Ihr Skript sollte:

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

Machen Sie das Skript ausführbar und führen Sie es aus. Da die Note 75 ist, sollte Ihre Ausgabe sein:

You passed!

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

Spickzettel

Die if-Anweisung ermöglicht es Skripten, Entscheidungen basierend auf Bedingungen zu treffen:

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

Die Bedingung wird in eckige Klammern mit Leerzeichen darum gesetzt. Verwenden Sie then, um den Anfang des Codeblocks zu markieren, und fi, um die Anweisung zu beenden.

Verwenden Sie else, um Fälle zu behandeln, wenn die Bedingung falsch ist:

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

Häufige Vergleichsoperatoren:

  • Zahlen: -eq (gleich), -ne (ungleich), -gt (größer als), -lt (kleiner als), -ge (größer oder gleich), -le (kleiner oder gleich)
  • Zeichenketten: = (Gleichheit), != (Ungleichheit)

Schließen Sie immer Leerzeichen in den Klammern ein und setzen Sie Variablen in Anführungszeichen, um Fehler mit leeren Werten zu vermeiden.

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