noqqe » blog | sammelsurium | photos | projects | about

Diese Woche war (bzw. ist immernoch, aber wenn ich in der Vergangenheit spreche fühlt es sich so an als wärs schon vorbei und das ist gut) Berufsschulwoche. Nun jedenfalls habe ich die grosse Freude dort in Bash-Scripting unterrichtet zu werden. Ungewöhnlich für Lehrkörper ist unserer relativ begeisterter Linux-Benutzer und schiebt an allen Enden etwas Linux Know-How mit ein. Das ist sehr schön weil ich Bash und Linux sehr mag.

#!/bin/bash

Morgen wird es einen Test geben, bei dem wir innerhalb 30 Minuten eine bestimmte Aufgabe scripten sollen und als “Abgabe” sozusagen vorführen müssen.

Eine Vorbereitung für diesen Test lautete wie folgt:

Schreibe ein Script, welches durch Angabe von Parametern in verschiedenen Zeitintervallen und maximaler Ausführdauer das aktuelle Datum und die Uhrzeit ausgibt. Außerdem soll zwischen 2 Modi gewechselt werden können. Mit vorangestelltem Text “Uhrzeit ist:” und nur die Uhrzeit.

Usage Beispiel: ./zeitausgabe 2 10 modus

Naja. Bevor wieder diverse Trolle in den Kommentaren ihrem Ruf gerecht werden: Die Klasse ist bis auf einen %-Anteil von ca 5 komplett Windows-User und haben Bash-Scripting seit ca 7 Schultagen unterrichtet bekommen. In dieser Dimension wird also auch der Test Morgen ausfallen. Ich bin gespannt.

Meine Lösung der Aufgabe:

#!/bin/bash
interval=$1
gesamtdauer=$2
modus=$3
count=0

if [ "$modus" = "txt" ]; then
   while [ $count -lt $gesamtdauer ]; do
   let count+=$interval
   sleep $interval ; echo "Das ist die Systemzeit: $(date)"
   done
else
   while [ $count -lt $gesamtdauer ]; do
   let count+=$interval
   sleep $interval ; echo $(date)
   done
fi

Comments (4)

nicohofmann on 2010-05-20T23:28:50
Setzen 1

noqqe on 2011-12-28T20:52:07
test1

noqqe on 2011-12-28T20:52:14
test2

noqqe on 2011-12-28T20:52:23
test3