Arithmetische Operationen in der Shell

ShellBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie, wie Sie grundlegende arithmetische Operationen in der Shell-Programmierung durchführen. Sie werden ein einfaches Skript erstellen, um die Gesamtkosten eines Obstkorbs zu berechnen. Dabei demonstrieren wir den Einsatz von Variablen und arithmetischen Ausdrücken in Bash. Dieses Lab ist speziell für Anfänger konzipiert, daher erklären wir jeden Schritt im Detail.

Dies ist ein geführtes Lab, das Schritt-für-Schritt-Anleitungen bietet, um Ihnen beim Lernen und Üben zu helfen. Folgen Sie den Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Lab für Anfänger mit einer Abschlussquote von 96 % ist. Es hat eine positive Bewertungsrate von 100 % von den Lernenden erhalten.

Ein neues Bash-Skript erstellen

Beginnen wir damit, eine neue Bash-Skriptdatei anzulegen.

  1. Öffnen Sie Ihr Terminal in der WebIDE. Sie sollten eine Eingabeaufforderung sehen, die etwa so aussieht: labex@ubuntu:~/project$.

  2. Wir erstellen unser Skript im Verzeichnis project. Standardmäßig befinden Sie sich bereits in diesem Verzeichnis, aber zur Sicherheit nutzen wir den Befehl cd:

    cd ~/project

    Dieser Befehl wechselt das aktuelle Verzeichnis nach /home/labex/project.

  3. Erstellen Sie nun eine neue Datei namens fruit_basket.sh. Dazu verwenden wir den Befehl touch, der eine leere Datei erzeugt:

    touch fruit_basket.sh
  4. Öffnen Sie die Datei fruit_basket.sh im Editor der WebIDE. Klicken Sie dazu einfach auf den Dateinamen im Datei-Explorer auf der linken Seite.

  5. Jedes Bash-Skript sollte mit einer sogenannten "Shebang"-Zeile beginnen. Diese Zeile teilt dem System mit, welcher Interpreter zur Ausführung des Skripts verwendet werden soll. Fügen Sie die folgende Zeile am Anfang der Datei ein:

    #!/bin/bash

    Diese Zeile legt fest, dass das Skript mit dem Bash-Interpreter ausgeführt werden muss.

Variablen für Obstpreise definieren

Nachdem die Skriptdatei bereitsteht, definieren wir einige Variablen, um die Kosten für verschiedene Früchte und den Korb zu speichern.

Fügen Sie die folgenden Zeilen in Ihre Datei fruit_basket.sh ein:

#!/bin/bash

## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1

Hier ist die Erläuterung dazu:

  • In Bash müssen Variablen nicht deklariert werden, bevor man sie benutzt. Wir weisen einem Variablennamen einfach einen Wert zu.
  • Variablennamen unterscheiden zwischen Groß- und Kleinschreibung (Case-Sensitivity). Konventionsgemäß verwenden wir oft Großbuchstaben für Konstanten (Werte, die sich nicht ändern).
  • Rund um das Gleichheitszeichen = dürfen bei der Zuweisung keine Leerzeichen stehen.
  • Diese Werte repräsentieren die Kosten in Cent. Zum Beispiel bedeutet COST_PINEAPPLE=50, dass eine Ananas 50 Cent kostet.
  • Wir müssen keinen Datentyp angeben. Bash behandelt diese Werte standardmäßig als Zeichenketten (Strings), verarbeitet sie aber als Zahlen, sobald wir arithmetische Operationen durchführen.

Die Gesamtkosten berechnen

Da die Preise nun definiert sind, berechnen wir die Gesamtkosten für einen Obstkorb, der 1 Ananas, 2 Bananen und 3 Wassermelonen enthält.

Ergänzen Sie Ihre Datei fruit_basket.sh um die folgende Zeile:

#!/bin/bash

## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1

## Calculate total cost
TOTAL=$((COST_PINEAPPLE + (COST_BANANA * 2) + (COST_WATERMELON * 3) + COST_BASKET))

Schauen wir uns diese neue Zeile genauer an:

  • $(( )) ist die Bash-Syntax für arithmetische Operationen. Alles innerhalb dieser doppelten Klammern wird als mathematischer Ausdruck behandelt.
  • Innerhalb dieses Ausdrucks müssen wir kein $-Zeichen vor die Variablennamen setzen.
  • Wir führen mehrere Operationen durch:
    • COST_PINEAPPLE: Kosten für 1 Ananas
    • (COST_BANANA * 2): Kosten für 2 Bananen
    • (COST_WATERMELON * 3): Kosten für 3 Wassermelonen
    • COST_BASKET: Kosten für den Korb selbst
  • Alle diese Werte werden addiert und das Ergebnis wird in der Variable TOTAL gespeichert.

Hinweis: Bash beherrscht nativ nur Ganzzahl-Arithmetik (Integer). Wenn wir mit Euro und Cent (Dezimalzahlen) arbeiten wollten, müssten wir ein Werkzeug wie bc für Fließkomma-Berechnungen verwenden.

Die Gesamtkosten anzeigen

Um das Ergebnis unserer Berechnung zu sehen, müssen wir die Gesamtkosten ausgeben. Fügen Sie die folgende Zeile zu Ihrer Datei fruit_basket.sh hinzu:

#!/bin/bash

## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1

## Calculate total cost
TOTAL=$((COST_PINEAPPLE + (COST_BANANA * 2) + (COST_WATERMELON * 3) + COST_BASKET))

## Display the total cost
echo "Total Cost is $TOTAL cents"

Erläuterung dieser Zeile:

  • echo ist ein Befehl, der Text im Terminal ausgibt.
  • Der Text in Anführungszeichen wird so ausgegeben, wie er dort steht, mit Ausnahme des Teils $TOTAL.
  • Wenn einem Variablennamen innerhalb eines Strings ein $ vorangestellt wird, ersetzt Bash diesen durch den aktuellen Wert der Variable. Dies nennt man Variablenexpansion.
  • Wenn TOTAL also 128 ergibt, lautet die Ausgabe: "Total Cost is 128 cents".

Das Skript ausführbar machen und starten

Da unser Skript nun fertig ist, müssen wir es ausführbar machen und anschließend starten.

  1. Machen Sie das Skript im Terminal mit dem Befehl chmod ausführbar:

    chmod +x ~/project/fruit_basket.sh

    Dieser Befehl ändert den Modus der Datei und fügt die Ausführungsberechtigung (x) für den Benutzer hinzu.

  2. Führen Sie das Skript nun aus:

    ~/project/fruit_basket.sh

    Dieser Befehl weist die Bash an, unser Skript auszuführen. Der Teil ~/project/ gibt den Pfad zu unserem Skript an.

Sie sollten eine Ausgabe wie diese sehen:

Total Cost is 128 cents

Diese Ausgabe zeigt, dass die Gesamtkosten für unseren Obstkorb (1 Ananas, 2 Bananen, 3 Wassermelonen und der Korb selbst) 128 Cent betragen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie man arithmetische Operationen mit grundlegenden Operatoren in der Shell-Programmierung durchführt. Sie haben ein Bash-Skript erstellt, das die Gesamtkosten eines Obstkorbs berechnet, indem es Variablen für Einzelpreise definiert und arithmetische Ausdrücke zur Berechnung nutzt. Zudem haben Sie gelernt, wie man ein Skript ausführbar macht und über die Kommandozeile startet.

Wichtige Punkte zum Merken:

  1. Bash-Skripte beginnen mit einer Shebang-Zeile (#!/bin/bash).
  2. Variablen werden in Bash ohne Leerzeichen um das = zugewiesen.
  3. Arithmetische Operationen werden in Bash innerhalb von $(( )) durchgeführt.
  4. Der Befehl echo wird zur Textausgabe verwendet.
  5. Skripte müssen mit chmod +x ausführbar gemacht werden, bevor sie direkt gestartet werden können.

Diese Fähigkeiten bilden die Grundlage für komplexere Shell-Scripting-Aufgaben und können in vielen Szenarien angewendet werden, in denen Berechnungen innerhalb von Skripten erforderlich sind.