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.