(Bash): juhusliku arvu genereerimise käsk

Mõnikord programmeerime mõnda skripti sisse sisse lööma … ja peame (mingil põhjusel) looma mingi juhusliku arvu.

Selleks saate programmeerida terve rakenduse (või funktsiooni ...) jah, kuid ... kummalisel kombel on meie süsteem seda juba teinud 😀

Tippige terminali järgmine ja vajutage [Sisenema]:

kaja $ RANDOM

... ilmub number, nad teevad sama asja uuesti ja ilmub teine ​​number jne

See näitab teile juhuslikku arvu (mis tahes) vahemikus 0 kuni 32768 (täisarv, see tähendab ilma komata).

Kui vajate seda juhuslikku arvu, kuid vahemikus 0 kuni ... ütleme 100, võite sellele selle piiri panna 😀

kaja $ (($ RANDOM% 100))

Sama, teine ​​näide ... kui soovite, et see oleks arv vahemikus 0 kuni 29, oleks see järgmine:

kaja $ (($ RANDOM% 29))

Kas sellest saadakse aru mitte? 😀

Kui nad kasutavad seda bashi skriptis, mida nad teevad, siis genereeritud väärtuse (juhusliku arvu) määramiseks muutujale oleks see järgmine:

VARIABLE = "kaja $ (($ RANDOM))"

Ja see on kõik, ma ei tea sinust ... aga ma tean, et see on mulle mingil hetkel kasulik hahaha.

seoses


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   Oscar DIJO

    Noh, ma olen seda testinud ja see tagastab ainult neljakohalise numbri, kuidas ma saan seda suuremaks muuta?
    Väga huvitav näpunäide, aitäh.

    1.    KZKG ^ Gaara DIJO

      Tagastab arvu vahemikus 0 kuni 32768, suuremaid numbreid pole mul õnnestunud saada.

  2.   josue DIJO

    ja kas see võib genereerida eksadekimesemeid ????

  3.   ronk DIJO

    VARIABLE = "kaja $ (($ RANDOM))"

    See töötab, kuid pole optimaalne sel lihtsal põhjusel, et RANDOM on muutuja ja saate teha järgmist.
    muutuja = $ RANDOM
    ja see ongi kõik! ärge käivitage kaja terminali aprte (mida teete)

    1.    KZKG ^ Gaara DIJO

      Jah, ilmselgelt on seda võimalik saavutada niimoodi ... ainus erinevus on see, et hiljem, et näha muutuja arvu (kuna kasutaja pole aimaja), on vaja teha kaja ... ja lõpuks, mida ma siin teen, on lihtsalt kaja (et kasutaja saaks näha, millise numbri võetakse) algusest peale.

      Kas ma teen endast aru? 🙂

  4.   Wuilmer bolivar DIJO

    Teine võimalus juhusliku arvu genereerimiseks, kuigi seekord oleks see käsk:

    kuupäev "+% N" | lõige -c 9

    See annaks meile kuupäeva nanosekundites 9 numbriga. Kui soovime ühekohalist numbrit, siis panete "cut -c 9" (viimane number on alati juhuslikum, sest see on arvust väikseim). Kui tahame 2 numbrit, siis paneme "lõike - c 8,9". Kui soovime kolme numbrit, siis "lõigake -c 7-9" (hakkame sidekriipsu kasutama).

    Ainus halb asi selle juures on see, kui tahame saada lühikese ajaga järjest palju juhuslikke numbreid, sest see on juhuslik arv, mis põhineb kuupäeval oma ajaga. See tähendab, et kui teeme selle käsuga for, näeme, et:

    $ i i jaoks "järjestuses 1 1 500"; tee kuupäev "+% N"; tehtud

    ...
    ...
    ...

    308311367
    310807595
    313273093
    315725181
    318186139
    320671403
    323360117
    325733353
    328335462
    330694870
    333259893
    335858999
    338375622
    340798446

    ...
    ...
    ...

    Ma arvan, et see on selge, eks? Vasakpoolsed joonised on loomulikult lühikese aja jooksul sarnasemad ja paremal on "juhuslikud".

  5.   siniseks löödud silm DIJO

    mmm… Mulle meeldis, mul on miniskript, see on maalitud juhuslike arvude genereerimiseks, aitäh.

  6.   G. DIJO

    See teenib .. ja palju ..
    eriti kui programmeerite bashis liidest parooliga, turvalisusega jne jne jne haha.
    Suurepärane aprote.

  7.   José Antonio järgis Benti DIJO

    Hola.
    Kõigepealt muidugi õnnitlused selle suurepärase veebisaidi puhul, mida olen pikka aega jälginud.
    Ja teiseks, tehke sellele sissekandele väike märkus:
    Kui limiit on tehtud järgmiselt:

    kaja $ (($ RANDOM% 10))

    Tegelikult tellite tõlgi, et teie genereeritud arv on alati järgneva numbri moodul% (jaotuse ülejäänud osa), selles näites 10.
    Iga arv, mis on jagatud kümnega, ei anna kunagi ülejäänuna midagi suuremat kui jagaja ise.
    Probleem on selles, et ka see ei anna sama numbrit, sest jagamine 0-ga pole tõlgi jaoks loogiline.

    See tähendab, et kaja $ (($ RANDOM% 10) annab tulemusi vahemikus 0 kuni 9, kuid mitte kunagi 10.
    Selle konflikti lahenduseks on ühe lisamine oma limiidile, nii et sama arv jääb juhusliku vahemiku piiridesse.

    kaja $ (($ RANDOM% 11))

    See annab tulemusi vahemikus 0 kuni 10.

    Tervitus.

  8.   amiel DIJO

    Tere, ehitasin just midagi sellist, kuid tekkis probleem.

    Ma tahan teha 6 erinevat numbrit vahemikus 00 kuni 45, kuid mitte neid korrata.

    kaja $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($ JUHUSLIK%46))

    EX: 17 33 16 36 45 27