LU07.A01: Funktionen

Bei dieser Aufgabe erstellen Sie einige Funktionen in Bash-Scripts. Achten Sie auf den korrekten Namen der Funktion, damit der Aufruf klappt.

Vorgehen

  1. Erstellen Sie einen neuen Ordner „~/exlu07a01“.
  2. Erstellen Sie für jede Teilaufgabe eine neue Scriptdatei (z.B. functionsA.sh, functionsB.sh, …).
  3. Kopieren Sie die Vorlage der jeweiligen Teilaufgabe in diese Scriptdatei.
  4. Geben Sie dem aktuellen Benutzer das Recht, die Scripts auszuführen
    z.B. chmod u+x exercise11a.sh
  5. Realisieren Sie die beschriebene Funktionalität als Funktion im Bash-Script.
  6. Testen Sie Ihr Skript.

Aufgabenstellungen

1. Usage

Das Skript prüft, ob mindestens 3 Argumente eingegeben wurden. Falls nicht, zeigt die Funktion usage eine Meldung an.

exercise11a.sh
#!/bin/bash
# ------ TODO: Funktion 'usage' ------
# Ausgabe: Hier sind 3 Argumente erforderlich
# Ausgabe: usage: Skriptname anrede vorname nachname
# ------ TODO: Funktion 'usage' ------
 
# TODO Falls weniger als 3 Argumente angegeben
then
   usage
fi

2. Zufallszahl

Die Funktion generateRandom erzeugte eine Zufallszahl in einem von/bis-Bereich. Dieser von/bis-Bereich wird als Parameter beim Aufruf der Funktion übergeben. Ist der Aufruf unvollständig (0 oder 1 Argument), so wird keine Zufallszahl erzeugt (leerer String in Variable).

exercise11b.sh
#!/bin/bash
# author: FIXME
# date:   FIXME
 
# ------ TODO: Funktion 'generateRandom' ------
# Falls weniger als 2 Argumente angegeben
#   Variable 'randomNumber' ist ein leerer String
#   Returnwert: -1
#
# Zufallszahl generieren mit der Formel: RANDOM % ( $2 - $1 +1 ) + $1
# und in 'randomNumber' speichern
# Returnwert: 0
# ------ TODO: Funktion 'generateRandom' ------
 
# Generate a random number between 10 and 20
generateRandom 10 20
echo "The random number is ${randomNumber}"
 
# invalid call
generateRandom 1
echo "The random number is ${randomNumber}"

Abgabe

Laden Sie die Skriptdateien hoch.


Daniel Garavaldi, Marcel Suter