Ngamanye amaxesha, sicwangcisa iskripthi esithile kwi Bash …. kwaye sifuna (ngesizathu esithile) ukuvelisa inani elithile elingahleliwe.
Ukulungiselela oko unokufaka isicelo sonke (okanye umsebenzi ...) ewe, kodwa ... ngokumangalisayo inkqubo yethu sele ikwenzile oko 😀
Kwisiphelo sendlela, chwetheza oku kulandelayo kwaye ucinezele [Ngena]:
Ngqina iRANDOM
... inani liza kuvela, baphinde benze into enye kwaye elinye inani livele, njalo njalo 🙂
Into eyenzayo kukubonisa inombolo engacwangciswanga (nayiphi na) phakathi kwe-0 kunye ne-32768 (Inani elipheleleyo, oko kukuthi, ngaphandle kwekoma).
Ukuba uyidinga ukuba ibe linombolo engacwangciswanga, kodwa phakathi ko-0 kunye no-masithi siyikhulu, ungabeka loo mda kuyo
echo $ (($ RANDOM% 100))
Kuyafana, omnye umzekelo ... ukuba ufuna ukuba ibe linombolo phakathi kuka-0 no-29 inokuba yile:
echo $ (($ RANDOM% 29))
Ngaba ayiqondakali? 😀
Ukuba baya kuyisebenzisa kwiskripthi esenziwa ngu-bash, ukwabela ixabiso elivelisiweyo (inani elingahleliwe) kuguquguquko oluya kuba:
EZAFANELEKILEYO = `echo $ (($ RANDOM))`
Ewe, yile, andazi ngawe ... kodwa ndiyazi ukuba iyakuba luncedo kum ngelinye ixesha hahaha.
Phendula nge quote
Ewe, bendikhe ndiyivavanya kwaye ibuyisa kuphela inani elinemivo emi-4, ukuba ikhule njani?
Ingcebiso enomdla kakhulu, enkosi.
Ibuyisa inani phakathi kuka-0 no-32768, khange ndikwazi ukufumana amanani amakhulu.
kwaye ingavelisa i-exadecimals ????
EZAFANELEKILEYO = `echo $ (($ RANDOM))`
Oko kuyasebenza kodwa akulunganga, ngenxa yesizathu esilula sokuba iRANDOM iguquke kwaye unokwenza:
Umahluko = $ RANDOM
nantso ke! sukubaleka i-echo kwisiphelo se-aprte (yile nto uyenzayo)
Ewe, kuyacaca ukuba inokufezekiswa ngolu hlobo ... umahluko kuphela kukuba kamva, ukubona inani elithathiweyo ngumahluko (kuba umsebenzisi akangomqashisi), kuya kuba yimfuneko ukwenza i-echo ... kwaye ekugqibeleni, into endiyenzayo apha kukuyenza nje i-echo (ukwenzela ukuba umsebenzisi abone ukuba leliphi inani elithathiweyo) kwasekuqaleni.
Ngaba ndiyenza ukuba ndiqondwe? 🙂
Enye indlela yokuvelisa inani elingahleliwe, nangona ngeli xesha ingangulo myalelo:
umhla "+% N" | Sika -c 9
Oko kungasinika umhla kwii-nanoseconds ezinamanani ali-9. Ukuba sifuna inani elinye emva koko ubeke u "cut -c 9" (inani lokugqibela lihlala lihleli ngokungalunganga kuba lelona nani lincinci). Ukuba sifuna amanani ama-2 sibeka u "cut - c 8,9". Ukuba sifuna amanani amathathu emva koko "sika -c 7-9" (siqala ukusebenzisa iqhagamshela).
Eyona nto imbi malunga noku ukuba sifuna ukufumana amanani amaninzi ngokungacwangciswanga ngokulandelelana ngexesha elifutshane, kuba eli linani elingahleliwe ngokusekwe kumhla nexesha lawo. Oko kukuthi, ukuba senza into ngalo myalelo sinokubona ukuba:
Iidola zam kwi-seq 1 1 500`; umhla "+% N"; yenziwe
...
...
...
308311367
310807595
313273093
315725181
318186139
320671403
323360117
325733353
328335462
330694870
333259893
335858999
338375622
340798446
...
...
...
Ndicinga ukuba icacile? Amanani asekhohlo ayafana kwisithuba esifutshane sexesha, ewe, kwaye abo basekunene baninzi "ngokungacwangciswanga".
mmm…. Ndiyithandile, ndinombhalo omncinci, ipeyintiwe ukuvelisa amanani angahleliyo, enkosi.
Ikhonza .. kwaye kakhulu ..
ngakumbi ukuba ucwangcisa ujongano kwi-bash enegama eligqithisiweyo, ukhuseleko, njl, njl, njl.
Iaprote ebalaseleyo.
Sawubona!
Okokuqala, ewe, ndiyavuyisana nale webhusayithi ibalaseleyo, endikade ndiyilandela ixesha elide.
Okwesibini, yenza inqaku elincinci kolu ngeno:
Xa umda wenziwe ngoluhlobo:
echo $ (($ RANDOM% 10))
Ngokwenyani, into oyalela yona itoliki kukuba inombolo yakho evelisiweyo ihlala iyimodulus% (intsalela yokwahlulwa) kwenani elilandelayo, kulo mzekelo, 10.
Naliphi na inani elahlulwe ngo-10 alisoze linike intsalela into enkulu kunesahluleli uqobo.
Ingxaki kukuba ayizukunikezela ngenani elifanayo, kuba ukwahlula ngo-0 akukho sengqiqweni kutoliki.
Oku kuthetha ukuba i-echo $ (($ RANDOM% 10) iya kunika iziphumo phakathi kwe-0 kunye ne-9, kodwa ungaze u-10.
Isisombululo kolu ngquzulwano kukongeza omnye kumda wakho, ukuze inani elifanayo liwele kuluhlu olungahleliwe.
echo $ (($ RANDOM% 11))
Oku kuyakunika iziphumo phakathi kwe-0 ne-10.
A ubingelele.
Molweni bendisakha nje into enje qha ndingene engxakini.
Ndifuna ukwenza amanani ama-6 awohlukeneyo ukusuka ku-00 ukuya ku-45 kodwa ndingawaphindi.
echo $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($ NGOKUQHELEKILEYO%46))
EX: 17 33 16 36 45 27