Skocz do zawartości

Generowanie Losowej Liczby W Bash-U


Jony

Rekomendowane odpowiedzi

Próbuje wygenerowac losowa liczbe w bash-u przy pomocy rand, ale pomimo przejrzenia kilkudziesieciu stron i manuali ta sztuka mi sie nie udaje.

Niby w podreczniku man jest przyklad:

Jesli chcesz wygenerowac liczbe losowa spomiedzy 1 a 10,

powinienes zawsze robic to korzystajac z bardziej znaczacych

bitów, jak w

 

j=1+(int) (10.0*rand()/(RAND_MAX+1.0));

 

a nigdy z czegos podobnego do

 

j=1+(rand() % 10);

 

(co korzysta z mniej znaczacych bitów).

ale ciagle mi wyskakuje blad skladni.

Czy ktos wie, jak wlasciwie powinien wygladac skrypt z tym poleceniem?

Odnośnik do komentarza
Udostępnij na innych stronach

[EDIT]

man 3 rand

Przykład z pierwszego postu pochodzi z tego manuala.

 

Trafiają się dystrybucje Linuksa z których wycięto funkcję $RANDOM. Na szczęście był awk i zrobiłem to w ten sposób:

liczba=$(awk 'BEGIN{srand();print int(rand()*(9-1))+1 }')

 

[solved]

Odnośnik do komentarza
Udostępnij na innych stronach

 

Przyklad z pierwszego postu pochodzi z tego manuala.

Ale chyba nie z man pages Fedory. W F17 nic takiego nie widze, za to jest przykladowy kod w C. W sieci faktycznie widac, ze man rand z sekcji 3. pokazuje taki przyklad. Tak czy siak w bashu nie da sie czegos takiego zastosowac wprost. W awk co innego, chociazby ze wzgledu na jednego z autorów awk i C.
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...