Generowanie liczb losowych w BASH z przykładami

Generowanie liczb losowych w BASH z przykładami

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
Generowanie liczb losowych w BASH z przykładami

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
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…