random

Poslao gigolo on 11.10.2011 15:47:28
brsls=$[(($RANDOM % br)+1)]

Može li mi ko potvrditi da ovo daje slučajni broj između 1 i broja u variabli br uključujući i taj broj. Na netu nalazim oprečna rješenja.

Re: random

Poslao slobodan on 12.10.2011 18:05:24
Bash dokumentacija, naravno. Prvi korak kad se sretneš s takvim varijablama kao što je $RANDOM je pogledati u bash dokumentaciji (ako je to shell u kom pokrećeš svoje shell skripte).

Utipkaš

man bash

i dok je otvoren bash manual, utipkaš slash RANDOM - time si pokrenuo pretraživanje za nekim stringom:

/RANDOM

i zatim možeš stiskati tipku n da ti ide do svakog dijela teksta gdje se pojavljuje tekst RANDOM. Pretraživanje je case-sensitive.

Ako imaš verziju manuala koja je slična po verziji koja je kod mene, prvi pronalazak će ti dati odgovor.

Re: random

Poslao gigolo on 12.10.2011 23:03:18
Slobodane hvala ti za ovu lekciju. Takvih znanja o uporabi Linuxa mi nedostaje.
Međutim man je neprecizan. Treba izrijekom navesti riječ "include" ili "exclude" a to nedostaje.
Ponovno sam guglao i donji primjer mi kaže da je ono iz prvog posta ispravno.

# Generate a toss of the dice.
SPOTS=6 # Modulo 6 gives range 0 - 5.
# Incrementing by 1 gives desired range of 1 - 6.
# Thanks, Paulo Marcel Coelho Aragao, for the simplification.
die1=0
die2=0
# Would it be better to just set SPOTS=7 and not add 1? Why or why not?

# Tosses each die separately, and so gives correct odds.

let "die1 = $RANDOM % $SPOTS +1" # Roll first one.
let "die2 = $RANDOM % $SPOTS +1" # Roll second one.
# Which arithmetic operation, above, has greater precedence --
#+ modulo (%) or addition (+)?


let "throw = $die1 + $die2"
echo "Throw of the dice = $throw"
echo


exit 0

Ova poruka je od: http://www.linux.hr/newbb/viewtopic.php?forum=8&topic_id=2509