Es gibt immer mal wieder einen Anwendungsfall, wo man eine Zufallszahl gebrauchen kann. Nun offenbart eine kurze Google-Suche jede Menge Webseiten, die eben diese online generieren können, aber mit der Bash geht’s genau so schnell und offline.
Linux hat dafür eine eigene Umgebungsvariable namens $RANDOM und die Nutzung ist recht einfach.
Ein einfaches
echo $RANDOM
gibt eine Zahl zwischen 0 und 32767 aus.
Um den Wertebereich einzuschränken, bietet sich die Modulo-Funktion an, möchte man also eine beliebige Zahl zwischen 0 und 9 haben, wäre die Syntax
echo $(($RANDOM % 10))
Die 10 ist übrigens kein Tippfehler, sondern korrekt, da die Modulo-Funktion den Rest nach der Division ausgibt und wenn man etwas durch 10 dividiert, kommen nun mal Reste zwischen 0 und 9 raus.
Wollen wir jetzt mal Lotto spielen (also einen Wertebereich zwischen 1 und 49 haben), dann kann man vielleicht so mit den richtigen Zahlen den Jackpot knacken.
echo $(($RANDOM % 49 + 1))
Ich dividiere also zunächst durch 49, wobei ich mögliche Werte für den Rest zwischen 0 und 48 erhalte. Diesen Wert erhöhe ich dann um 1, so dass ich den gewünschten Wertebereich erhalte.
Die ganz Faulen erzeugen natürlich alle sechs Zahlen auf einmal:
for i in {1..6}; do echo $(($RANDOM % 49 + 1)); done
Achso, bei mir sind die Zahlen 4, 18, 22, 28, 35 und 36 rausgekommen. Viel Glück!
Echt klasse Beschreibung. Habe vorher mit Batch . bat gearbeitet .
Bin bash Neuling .
Sehr Ausfuehrlich und auch gut zu verstehen 😉 na fast erst mal daran gewoehnen .
Aber schon mal vielen dank .