Oft werden ja kleine Funktionen gebraucht, mit welchen man irgendeine Aufgabe schnell lösen kann. Für solche „Kleinigkeiten“ lohnt es sich meistens nicht, ein extra Programm zu schreiben und eine schöne GUI zu designen. Oder wenn man jeden Tag bestimmte Daten von seinem Computer auf einen Server backupen möchte, kann man das auch einfach mit einem Script lösen, welches man über einen Cronjob einmal am Tag ausführen lässt. In dem Artikel zeige ich euch, wie ihr ganz einfach ein eigenes Bash Script in Linux schreiben könnt und wie ihr dieses startet.
Wenn ihr euer Skript schreiben möchtet, geht ihr zunächst mit der Konsole in den Ordner, in welchem später euer Skript liegen soll. Anschließend erstellt ihr eine neue Datei. Diese Datei wird später euer Skript sein. Gebt zum Erstellen folgenden Befehl ein:
nano scriptname
Jetzt seht ihr den Editor Nano. Mit diesem können wir jetzt anfangen, unser Skript zu schreiben. Zunächst einmal müssen wir einen Hinweis schreiben, dass es sich um ein Skript handelt, sodass Linux später weiß, was es machen muss. Dazu geben wir Folgendes in die erste Zeile ein:
#!/bin/bash
Danach können wir auch schon mit unserem eigentlichen Skript anfangen. Dazu überlegen wir uns erst kurz, was für ein Skript wir eigentlich schreiben möchten. Um etwas Einfaches auszuprobieren, schreiben wir nur ein Script bei dem der User 2 Zahlen eingibt und dann geschaut wird, ob Zahl 1 größer, kleiner oder gleich groß wie Zahl 2 ist, und das anschließend ausgibt.
Dafür müssen wir uns zunächst darum kümmern, dass die Zahlen, welche der User eingibt, eingelesen und in einer Variablen gespeichert werden. Das Ganze realisierten wir mit folgenden 2 Befehlen:
zahl1=$1
zahl2=$2
Mit dem $1 lesen wir den ersten Aufrufparameter ein und speichern diesen in der Variablen zahl1, und das gleiche machen wir auch mit der 2. Zahl.
Damit wir jetzt noch prüfen können, ob die Zahl auch wirklich 2 Zahlen und nicht mehr oder weniger eingegeben werden, prüfen wir noch die Anzahl der eingegebenen Aufrufparameter.
anzahlparameter=$#
Das $# steht dafür, dass man die Anzahl der eingegebenen Parameter ausliest. Diese Zahl wird anschließend in der Variablen anzahlparameter gespeichert.
Jetzt müssen wir uns dem eigentlichen Skriptteil widmen, mit welchem wir die zwei Zahlen prüfen. Das Ganze realisieren wir mit einer if-Abfrage. Das sieht dann wie folgt aus:
if [ $anzahlparameter -eq 2 ]
then
if [ $zahl1 -eq $zahl2 ]
then
echo „$zahl1 ist gleich $zahl2“
elif [ $zahl1 -gt $zahl2 ]
then
echo „$zahl1 ist größer als $zahl2“
elif [ $zahl1 -lt $zahl2 ]
then
echo „$zahl1 ist kleiner als $zahl2“
fi
else
then echo „Bitte geben Sie 2 Zahlen ein“
fi
Hier prüfen wir zunächst, ob die Variable anzahlparameter gleich 2 ist. Wenn das nicht der Fall ist, wird „Bitte geben Sie 2 Zahlen ein“ ausgegeben. Wenn die Variable aber 2 ist, geht es weiter zu der nächsten If-Abfrage. Dort wird geprüft, ob zahl1 gleich zahl2 ist. Wenn das der Fall ist, wird der Wert von Zahl 1 und 2 ausgegeben und geschrieben, dass diese gleich sind. Wenn das aber nicht zutrifft, geht es zur nächsten If-Abfrage in der geprüft wird, ob Zahl 1 größer als Zahl 2 ist. Wenn das zutrifft, werden wieder die Zahlen ausgegeben und der Text, dass die erste Zahl größer als die 2. Zahl ist. Wenn das auch nicht zutrifft, kann es ja nur noch einen Zustand geben, der geprüft werden muss, und zwar, ob die 1. Zahl kleiner als die 2. Zahl ist. Wenn dies dann Zutrifft wird wieder der Wert von Zahl 1 und Zahl 2 ausgegeben und dass die 1. Zahl kleiner ist als die 2. Zahl. Danach muss man noch die If-Abfrage beenden. Das macht man hier bei den Skripten mit dem Befehl fi.
Jetzt haben wir auch schon unser Skript so fertiggeschrieben und können dieses speichern. Das machen wir mit Strg + x in dem Editor Nano.
Nun müssen wir nur noch die Dateienberichtigungen von dem Skript anpassen, und zwar setzen wir diese auf 744, das machen wir mit folgendem Befehl:
chmod 744 scriptname
Jetzt haben wir auch schon alles so weit fertig, dass wir unser Skript aufrufen könnten. Wenn wir dann unserem Skript die Zahlen 2 und 4 übergeben möchten, sieht das folgendermaßen aus:
./scriptname 2 4
Nachdem das Skript diese Eingabe erhalten hat, gibt es Folgendes aus:
2 ist kleiner als 4
Diese Ausgabe ist richtig und wir sehen, das unser Skript funktioniert.
Ich hoffe, dass ihr mithilfe dieses Artikels mal grob erkennen konntet, wie man ein Bash-Script unter Linux schreibt.