Bash-Programmierung No. 2 „Counter“

0

Guten Tag!

Heute wollen wir uns dem zweiten Teil der Tutorial-Reihe „Bash Programmierung“ widmen. Dafür ist es nötig, dass Sie sich den ersten Teil des Tutorials anschauen, wenn Sie das noch nicht getan haben.

 

Unser heutiges Projekt ist ein „Counter„, also ein Programm, das uns beispielsweise alle Zahlen von 1 bis 5 ausgibt. Was brauchen wir dafür?

Nun mit derzeitigem Wissensstand würden wir einfach 5 „echo“s schreiben, die uns nacheinander die Zahlen von 1 bis 5 ausgeben. Dies würde in etwa so aussehen.

echo 1

echo 2

echo 3

echo 4

echo 5

Nun, es ist wohl nicht schwer zu erkennen, dass dies ein sehr umständlicher Weg ist, das Programm zu schreiben. Was wäre denn, wenn wir stattdessen bis 10 Zählen wollten? Oder bis 100? Oder bis 7.000.000? Tja, natürlich können wir das nicht „so mal eben“ 6.999.995 mal wiederholen, wir wollen ja möglichst schnell arbeiten.

Also? Tja, jeder, der schon eine Programmiersprache beherrscht, der sollte die Lösung kennen, wahrscheinlich auch einige von denen die nicht. Wir benutzen eine Schleife. Schleife? Nein, wir brauchen uns keine Schuhe zu binden, eine Schleife in der Informatik ist ein sich wiederholender Vorgang. Also wie ein Roboter, der industriell an einem Fließband arbeitet und immer den gleichen Vorgang wiederholt. Wir benutzen eine Schleife, die jedes Mal wenn sie durchgeht „nachschaut“, ob sie schon oft genug gelaufen ist oder nicht.

Das bedeutet, wir brauchen eine Zahl, die sich für jeden Durchgang um eins erhöht und wenn die Zahl 5 ist, oder 100, oder 7.000.000, wie wir wollen, dann hört die Schleife auf.

 

Das Konstrukt, das wir benutzen um eine Schleife auf zu bauen ist wie folgt:

while [ BEDINGUNG ]; do

AUSZUFÜHRENDES

done

 

Also fangen wir an, erstellen Sie ein neues Projekt und nennen es Counter, benutzen Sie dazu die erste Reihe unseres Tutorials, falls Sie nicht mehr wissen wie. Als Erstes erstellen wir eine „Variable“, also ein Objekt/eine Zahl, der einem Wert zugeordnet ist.

i=1

Was hat das gemacht? Ja ganz einfach: Der Buchstabe i wird eine Variable und diese Variable bekommt den Wert „1“.

 

Hinweis für erfahrene Programmierer: Sie werden eventuell einen Typen wie „int“ oder „Integer“ vermissen. Das liegt daran, dass in Hochsprachen wie C, Java, etc. Variablen typisiert sind, also eine bestimmte Art von Wert besitzen (ganze Zahlen oder Buchstaben, boolesche Werte etc.), das trifft für Bash aber nicht zu. In Bash sind Variablen nicht typisiert. Das bedeutet zwar, dass man Sachen machen kann wie:

i=“Das hier ist ein Text“

i=2

Aber trotzdem muss man aufpassen. Man kann zum Beispiel nicht „Wenn „Text“ kleiner als 2″ als Bedingung setzen, da das einen Fehler gibt, den der Compiler dann anzeigt.

 

Nun müssen wir eine Bedingung setzen, damit unsere Schleife weiß, wann Schluss ist. Wie ich Ihnen schon oben erzählt habe, nehmen wir eine „while“(Zu Deutsch: „während“) Schleife. Die Bedingung dahinter wird in eckige Klammern gefasst, bedenken Sie ausserdem zwischen eckige Klammer und Bedingung unbedingt eine Leerstelle zu lassen, sonst ist der Code unseres Programms fehlerhaft und kann nicht ausgeführt werden.

while [ $i -le 5 ]; do

Das ist der „Kopf“ der Schleife, er beinhaltet wichtige Informationen, wie Schleifenart und Bedingung. Das „-le“ steht für „less equals“ (Zu Deutsch: „weniger gleich“), was bedeutet, dass während i eine kleinere Zahl als 5 oder 5 ist, wird die Schleife ausgeführt. Das „$“ vor dem i ist ein Kennzeichen für den Computer, dass wir uns nicht auf den Text „i“ sondern auf die Variable „i“, bzw. deren Wert beziehen. ,,“i“ ist kleiner als 2″ wäre ja auch Quatsch.

echo $i

i=$(( $i+1 ))

Das „echo $i“ gibt den Wert der Variable i aus.

i=$(( $i+1 )) ist ein wenig mehr verwirrend. Das ist der Inkrement, das heißt „i wird um eins erhöht“.

i wird auf einen Wert gesetzt. deswegen Das $ (IRGENDWAS).

Die Klammern um das „$i+1“  bedeuten, dass $i+1 eine Rechnung ist und kein Kommando.
Am Ende fehlt uns nur noch ein kleines Wörtchen:

done

Das signalisiert das Ende der  Schleife. Wenn Sie alles richtig gemacht haben, können Sie das Programm nun abspeichern und mit chmod +x counter ausführbar machen.

Auf Aufruf sollte Ihr Programm nun das hier ausgeben:

counter-Ausgabe

 

Perfekt, unser Programm funktioniert. Bewahren Sie sich das Programm für den nächsten Teil des Tutorials auf, wir werden es noch brauchen.

Nächstes Mal werden wir lernen, wie wir Programmen Parameter übergeben, ausserdem wird die Funktionsweise der if-Anweisung erläutert.

KEINE KOMMENTARE

HINTERLASSEN SIE EINE ANTWORT