Generowanie liczb losowych w BASH z przykładami
- 4696
- 1252
- Juliusz Janicki
Podczas kodowania skryptów bash - szczególnie podczas opracowywania skryptów do testowania funkcjonalności - czasami musimy wygenerować liczbę losową lub losowe wejście. Liczby te mogą również wymagać znajdowania się w określonym zakresie. Ten artykuł nauczy Cię, jak wykonywać losowe generowanie liczb w Bash.
W tym samouczku się nauczysz:
- Jak generować losowe liczby w Bash
- Jak generować liczby losowe to określony zakres
- Przykłady wykazujące generowanie liczb losowych w BASH
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Niezależny od rozkładu Linuksa |
Oprogramowanie | Wiersz poleceń Bash, system oparty na Linuksie |
Konwencje | # - Wymaga wykonywania Linux -Commands z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$-Wymaga wykonania Linux-commands jako zwykłego niepewnego użytkownika |
Przykład 1: Generowanie liczby losowej za pomocą generatora losowego
Wygenerujmy losową liczbę w Bash:
$ $ $ losowe 24758 $ echo $ losowe 13
To było proste, prawda??
Istnieje jednak kilka wyzwań związanych z tym podejściem; Nie jest to zbyt użyteczne, jak to jest: liczba losowa może być 1
Lub 32000
. Warto również zauważyć, że chociaż zwrócona liczba wydaje się losowa, wpływa na to, jak zmienna losowa entropia (Losowe =
) jest inicjowany. Będzie na tym koncentrowanie się na innym artykule. Byłby szybki przykład, w jaki sposób możesz to zwiększyć losową;
$ Losowo = 1 $ echo $ losowo 16807 $ losowe = 1 $ echo $ losowe 16807 $ losowe = $ (data +%s%n | cut -B10-19) $ echo $ losowo 18991 $ losowe = $ (data +%s S. %N | CUT -B10-19) $ echo $ losowe 11045
Zauważ, że liczba losowa 16807
nie jest tak losowe, ponieważ losowy generator był zaszczepiony tym samym 1
.
Random = $ (data +%s%n | cut -B10-19)
Polecenie jest znacznie lepszym losowym sednem entropii generatora opartego na czasie drugiego i nanosekundowego.
Przykład 2: Liczby w zakresie
Wybór liczb losowych w zakresie jest proste. Wygenerujmy liczbę losową między 1 a 113:
$ echo $ (($ losowo % 113 + 1)) 50 $ echo $ (($ losowo % 113 + 1)) 17 $ echo $ (($ losowo % 113 + 1)) 95)
I możemy również użyć alternatywnej składni/polecenia. Tym razem wygenerujemy liczbę losową między 1 a 117:
$ echo $ [$ losowo % 117 + 1] 113 $ echo $ [$ losowe % 117 + 1] 71 $ echo $ [$ losowo % 117 + 1] 10
Aby zwiększyć minimum danego zakresu, możesz po prostu zwiększyć +1
do wyższej liczby.
Rozważ poniższy przykład, generując liczbę losową między 11 a 30:
$ echo $ [$ losowo % 20 + 11] 21 21
Wniosek
W tym artykule dowiedzieliśmy się, jak generować liczbę losową w Bash, w dowolnym preferowanym zakresie. Krótko dotknęliśmy, jak działa losowość w Bash za pośrednictwem losowego generatora nasion entropii.
Pokaż nam trochę swoich $ Losowe
kreacje w komentarzach poniżej! Cieszyć się!
Powiązane samouczki Linux:
- Obsługa danych wejściowych użytkownika w skryptach Bash
- Rzeczy do zainstalowania na Ubuntu 20.04
- Jak skonfigurować serwer OpenVPN na Ubuntu 20.04
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Mastering Bash Script Loops
- Zagnieżdżone pętle w skryptach Bash
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Lista najlepszych narzędzi Kali Linux do testowania penetracji i…
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Hung Linux System? Jak uciec do wiersza poleceń i…