Linux: So erzeigen Sie eine Zufallszahl mit der bash-Shell

Gelegentlich braucht man eine zufällige Zahl auf der Linux-Bash. Etwa für ein Shell-Script. Diese Zahl steckt in der Umgebungsvariablen $RANDOM. Sobald Sie diese Variable referenzieren, etwa mit

echo $RANDOM

zeigt die Shell eine Zahl zwischen 0 und 32767.

Sie können den Wertebereich des Ergebnisses einschränken. Um etwa Zahlen zwischen 0 und 99 zu erhalten, schreiben Sie

echo $(($RANDOM % 100))

Die 100 wird dabei nie erreicht, weil das Prozentzeichen die mathematische Funktion Modulo (Rest nach Teilung) bewirkt. Würde der Generator RANDOM die Zahl 100 auswerfen, ergibt die Modulo-Operation das Ergebnis 0.

Wollen Sie stattdessen einen Wertebereich von 1 bis 100 erhalten, verwenden Sie

echo $(($RANDOM % 100 + 1))

Ein Gedanke zu „Linux: So erzeigen Sie eine Zufallszahl mit der bash-Shell“

  1. Das gibt aber keine gleichverteilte Zufallszahl. Beispiel: $RANDOM würde Zahlen von 1 bis 10 liefern, ich möchte aber einen Bereich 1..3 abdecken. Dann sieht man leicht, daß nach obiger Methode einige Zahlen öfter als andere kommen.

    Antworten

Schreibe einen Kommentar