Was ist RANDOM mit Seed in Bash?

Im Bash-Skript ist „RANDOM“ die spezielle Variable, die die Zufallszahlen generiert. Diese Zahlen werden in Programmiersprachen zum Generieren von Passwörtern, zum Spielen von Kartenspielen, zum Testen von Daten usw. verwendet. Wenn der Benutzer jedoch dieselbe Folge von Zufallszahlen im Bash-Skript reproduzieren möchte, kommt die Seed-Option in Betracht.

In diesem Blog erfahren Sie, wie Sie dieselbe Folge von Zufallszahlen mithilfe von Seed im Bash-Skript reproduzieren.

  • Wie verwende ich die Variable $RANDOM mit Seed im Bash-Skript?
    • Generieren Sie die gleiche Ausgabesequenz
    • Erhalten Sie den Seed-Wert aus der Benutzereingabe
    • Erhalten Sie Bereich, Startwert und Anzahl der Sequenzen vom Benutzer

Wie verwende ich die Variable $RANDOM mit Seed im Bash-Skript?

Wie bereits erwähnt, wird der Startwert verwendet, um die gleiche zufällige Anzahl von Sequenzen zu generieren. Der Benutzer kann die Variable „RANDOM“ mit einer beliebigen Ganzzahl definieren, um die Sequenz im Bereich zwischen 0 und 32767 zu generieren.

Beispiel 1: Gleiche Ausgabesequenz generieren

Um die gleiche Folge von Zufallszahlen im Bash-Skript zu generieren, weisen Sie dem „RANDOM“ eine benutzerdefinierte Zahl zu, die wie folgt erhalten wird:

#!/bin/bash

RANDOM=32

echo "$RANDOM $RANDOM $RANDOM"

Die Beschreibung des Skripts ist unten aufgeführt:

  • Definiert den Startwert „ZUFÄLLIG=32“.
  • Drucken Sie anschließend Zufallszahlen über die Schaltfläche „Echo“ Befehl.

Speichern Sie die Datei, indem Sie auf „Strg+O” und verlassen Sie die Datei mit „Strg+X“.

Führen Sie die Bash-Skriptdatei im Terminal aus:

$ bash script.sh

Für den Startwert 32 wird die gleiche Anzahl an Sequenzen 13544, 17635 und 3533 generiert.

Beispiel 2: Seed-Wert aus Benutzereingabe abrufen

Ebenso kann der Benutzer auch den Startwert und die Anzahl der Sequenzen vom Benutzer übernehmen, um die Anzahl der Sequenzen zu generieren.

Betrachten Sie dazu das folgende Skript:

#!/bin/bash

# Taking input from the user
read -p "Enter Seed Value: " RANDOM
read -p "Enter how many numbers of sequences you want? " range

# Generate random numbers
for (( i=1; i<=$range; i++ ))
do
  echo $RANDOM
done

Das Skript ist wie folgt definiert:

  • Geben Sie zunächst den Startwert des Benutzers ein und speichern Sie ihn im „ZUFÄLLIG” und die Anzahl der Sequenzen im „Reichweite” variabel.
  • Danach wird das „für„Schleife wird verwendet, um den Bereich zu definieren und die Zufallszahlen auf dem Bildschirm auszugeben.

Speichern Sie das obige Skript in der Datei.

Führen Sie die Skriptdatei wie gezeigt mit dem Bash-Befehl aus:

$ bash script.sh

Die gleiche Anzahl von Sequenzen 23686, 19043Und 26511 werden nach Eingabe von Saatwert 56 und Bereich 3 angezeigt.

Beispiel 3: Bereich, Startwert und Anzahl der Sequenzen vom Benutzer abrufen

Um den Bereich, den Startwert und die Anzahl der Sequenzen vom Benutzer abzurufen, führen Sie das unten stehende Skript aus:

#!/bin/bash
#taking input from the user
read -p "Enter Maximum Value: " max
read -p "ENter Minimum Value: " min
read -p "Enter Seed Value:" RANDOM
read -p "How many Numbers you want Generate:" number
#Checking the Entered Numbers
if [[ $max -lt $min ]];
then
echo "Sorry the Maximum value is less than Minimum Value"
exit 1
fi
#Check Range
Range=$(($max-$min))
if [[ $Range -eq 1 ]];
then
echo "The Range between 2 numbers should be more than 1"
exit 1
fi
#for loop to generate Random numbers
for (( i=1; i<=$number; i++ ))
do
random_no=$(($RANDOM % $max + $min))
echo "Random Number is $random_no"
done

Das Skript ist definiert als

  • Nehmen Sie die Reichweite in „max„, Und „Mindest”Variable vom Benutzer.
  • Nehmen Sie dann den Startwert und die Anzahl der zu generierenden Sequenzen vom Benutzer im Feld „ZUFÄLLIG“ Und „Nummer”Variablen.
  • Wenn„Aussagen bestätigen die „max“ Und „Mindest”Vom Benutzer eingegebene Werte und der Bereich zwischen den Werten.
  • Der „für„Schleife definiert die Anzahl der Sequenzen mithilfe der „Nummer” variabel.
  • Danach wird das „TunDer Abschnitt „Generiert die Zufallszahlenfolge und speichert sie im Abschnitt „random_no” variabel.
  • Anschließend gibt der Echo-Befehl generierte Zufallszahlen auf dem Bildschirm aus.

Speichern Sie das obige Skript in der Datei.

Führen wir das obige Skript im Terminal aus:

$ bash script.sh

Die gleichen Zahlen 25, 14Und 46 werden nach Eingabe von 45 als Maximalwert, 4 als Minimalwert und 78 als Startwert generiert.

Abschluss

Im Bash-Skript wird der Startwert in der Variablen „RANDOM“ definiert, um die gleiche Anzahl an Sequenzen zu generieren. Dieser Wert kann manuell oder durch Benutzereingabe definiert werden. Benutzer können diese Werte im Terminal über den Befehl „echo“ ausdrucken.

Dieser Artikel hat die Frage „Was ist RANDOM mit Seed in Bash“ anhand von Beispielen beantwortet.

Schreibe einen Kommentar