Użycie losowego generatora:
Liczba losowa lub zakres liczb losowych można wygenerować przy użyciu zmiennej $. Domyślnie generuje liczbę losową między 0 a 32767. Ale możesz ustawić zakres liczb do generowania liczb losowych, dzieląc wartość $ losowo z określoną wartością. Różne zastosowania zmiennej losowej $ do generowania liczb losowych pokazano w następnej części samouczka.
Generowanie liczb losowych za pomocą $ losowa zmienna:
Pokazane są sposoby generowania liczby losowej w terminalu i wykonaniu pliku skryptu.
A. Generuj liczby losowe z terminala
Uruchom następujące polecenie, aby wygenerować liczbę losową w zakresie od 0 do 32767.
$ echo $ losowe
Możesz wygenerować losową liczbę określonego zakresu, dzieląc zmienną $ losową z określoną wartością i uzyskując pozostałą wartość. Uruchom następujące polecenie, aby wygenerować liczbę losową w zakresie od 1 do 50. Tutaj użyto podwójnych pierwszych nawiasów z $.
$ echo $ (($ losowo % 50 + 1))
Uruchom następujące polecenie, aby wygenerować liczbę losową w zakresie od 10 do 40. Tutaj zastosowano trzeci wspornik z $.
$ echo $ [$ losowo % 40 + 10]
B. Generuj liczby losowe za pomocą skryptu
Utwórz plik bash z następującym skryptem, aby wygenerować losową liczbę określonego zakresu, w którym wartości minimalne i maksymalne są pobrane od użytkownika. Komunikat o błędzie zostanie wyświetlony, jeśli pobrana maksymalna wartość jest mniejsza niż wartość minimalna. Jeśli różnica między wartością maksymalną a minimalną wynosi 1, zostanie wyświetlony inny komunikat o błędzie. Liczba losowa zostanie wygenerowana w każdym wykonaniu tego skryptu, jeśli prawidłowe wartości minimum i maksymalne zostaną przyjęte jako dane wejściowe.
#!/bin/bash
# Wygeneruj losowo oparty zakres zdefiniowany przez użytkownika
#Weź dolną i górną wartość od użytkownika
echo „Wprowadź minimalną wartość:”
Przeczytaj minimum
echo „Wprowadź maksymalną wartość:”
Przeczytaj maksimum
#Sprawdź wzięte wartości są prawidłowe
Jeśli [[$ maksimum < $minimum ]]; then
Echo „Maksymalna wartość nie może być niższa niż wartość minimalna”
Wyjście 1
fi
#Znajdź różnicę między liczbami
diff = $ (($ maksimum-$ minimum))
#Sprawdź wartość różnicową
jeśli [[$ diff == 1]]; Następnie
echo „Zakres liczb musi wynosić więcej niż 1”
Wyjście 1
fi
#Generuj liczbę losową
RandomNumber = $ (($ minimum + $ losowo % $ maksimum))
#PROPREM Wygenerowana liczba
echo „Wygenerowana liczba losowa to: $ losowa liczba”
Następujące dane wyjściowe pojawi się, jeśli skrypt zostanie wykonywany wiele razy. Tutaj powyższy skrypt został wykonany trzy razy. Komunikat o błędzie został wydrukowany dla pierwszych dwóch egzekucji dla nieprawidłowych danych wejściowych, a liczba losowa została wygenerowana dla ostatniego wykonania.
Generowanie liczb losowych za pomocą polecenia „ShUF”:
Korzystanie z polecenia „shuf” to kolejny sposób generowania losowej liczby określonego zakresu. W tym samouczku pokazano sposoby generowania losowej liczby z terminalu i użycia skryptu.
A. Generuj liczby losowe z terminala
Uruchom następujące polecenie, aby wygenerować liczbę losową od 0 do 50 za pomocą polecenia „ShUF”.
$ shuf -i 0-50 -n1
Zgodnie z następującym wyjściem powyższe polecenie zostało wykonane trzykrotnie i wygenerowano trzy losowe liczby.
B. Generuj liczby losowe za pomocą skryptu
Utwórz plik bash z następującym skryptem, aby wygenerować listę liczb losowych na podstawie wartości wejściowej. „Pętla” została użyta do wielokrotnego wykonywania polecenia „ShUF” do wygenerowania listy liczb losowych między 1 do 100 i wydrukowania liczb.
#!/bin/bash
# Wygeneruj losowe za pomocą polecenia „shuf”
echo „Ile liczb losowych chcesz wygenerować?: "
Numer odczytu
#PROPREM Wygenerowane liczby losowe
echo „Wygenerowane liczby losowe to:”
dla n w „seq„ $ liczba ”''
Do
RandomNumber = $ (shuf -i 1-100 -n1)
echo $ losynumber
zrobione
Poniższe dane wyjściowe pokazuje, że 5 zostało przyjęte jako wartość wejściowa, a 5 losowych liczb zostało wygenerowanych, które nie są więcej niż 100 i nie mniej niż 1.
Generowanie liczb losowych za pomocą /dev /urandom:
/Dev /urandom może być używany z różnymi poleceniami do generowania różnych rodzajów wartości losowych. Nie można go użyć do określenia wartości zakresu, takich jak polecenie „shuf” i zmienna $. Ale liczba cyfr liczby losowej można zdefiniować w poleceniu za pomocą /dev /urandom. Użycie polecenia „OD” z /dev /urandom pokazało w następnej części tego samouczka. To polecenie można użyć do określenia liczby bajtów, w których każdy bajt może być zdefiniowany przez liczbę dziesiętną w odległości 0 do 255.
Uruchom następujące polecenie, aby wygenerować liczbę losową między 0 a 255.
$ od -a n -t d -n 1 /dev /urandom
Dane wyjściowe pokazuje, że powyższe polecenie zostało wykonane trzykrotnie i wygenerowano tutaj trzy różne liczby losowe.
Wniosek:
W tym samouczku wyjaśniono trzy różne sposoby generowania liczb losowych. Koder może wygenerować określony zakres liczb losowych za pomocą polecenia $ losy lub polecenie „shuf” w Bash. Koder może używać /dev /urandom z dowolnym innym poleceniem, aby wygenerować losową liczbę określonych bajtów lub długości. Generowanie liczb losowych jest bardzo częstym wymogiem programowania i mam nadzieję, że czytelnicy będą w stanie wygenerować liczbę losową na podstawie ich wymagań po przeczytaniu tego samouczka.