klein aber fein

Die Aufgabenstellung lautete: Wie erzeuge ich ein wechselndes Hintergrund-Bild für eine Seite?
Die Lösung war – dank der umfassenden Möglichkeiten der bash, schnell gebastelt:

[code lang="bash"]
#!/bin/sh
range=`ls *.jpg | grep -v background | wc -l`
number=$RANDOM
let "number %= $range"
if [ $number -eq 0 ]; then let "number++"; fi
name=`ls | tail -$number | head -1`
cp $name background.jpg
[/code]

Das „Programm“ geht davon aus, dass es ein Verzeichnis gibt in dem die zu wählenden Bilder lagern (so ne Art „<body background=’background/background.jpg‘>“. Dort erzeugt es die Menge der vorhandenen Bilder abzüglich des einen das später der aktuelle Background wird (range). Es wird mittels $RANDOM und dem sich anschließenden Modulo (Rest einer ganzzahligen Division) eine Zufallszahl ermittelt die innerhalb dieser Menge liegt (number). Dann wird diese Zufallszahl-Menge an Dateien angelistet und davon nehmen wir uns die erste (head -1). Das wiederum kopieren wir auf background.jpg, welches in der Seite fest verdrahtet als Hintergrund genommen wird. Und schon haben wir – vielleicht noch mit einem reload im Meta-Bereich der index.html oder index.php oder wie auch immer einen wechselnden Hintergrund. Wird natürlich angesteuert über die cron – wie sonst ;), zum Beispiel mit einem „*/15       * * * * (cd theSite/background && ./generate.sh)“, wenn das kleine Ding von oben in „generate.sh“ gespeichert wurde, womit also dann alle 15 Minuten ein anderer Hintergrund der vorliegenden Bilder erzeugt würde.