(Bash): Kommando om willekeurich getal te generearjen

Somtiden programmearje wy wat skript yn Bash …. en wy moatte (om ien of oare reden) wat willekeurich getal generearje.

Dêrfoar kinne jo in heule applikaasje (of funksje ...) programmearje ja, mar ... nijsgjirrich hat ús systeem dat al dien 😀

Typ yn in terminal it folgjende en druk op [Yngean]:

echo $ RANDOM

... in getal sil ferskine, se dogge itselde ding wer en in oar getal ferskynt, ensafuorthinne 🙂

Wat it docht is jo in willekeurich getal (elk) sjen litte tusken 0 en 32768 (hiel getal, dat is sûnder komma).

As jo ​​nedich binne dat it in willekeurich getal is, mar tusken 0 en ... litte wy sizze 100, kinne jo dizze limyt derop sette 😀

echo $ (($ RANDOM% 100))

Itselde, in oar foarbyld ... as jo wolle dat it in getal is tusken 0 en 29 soe it wêze:

echo $ (($ RANDOM% 29))

Is it net begrepen? 😀

As se it brûke yn in bash-skript dat se dogge, om de generearre wearde (in willekeurich getal) ta te wizen oan in fariabele soe it wêze:

VARIABLE = `echo $ (($ RANDOM))`

No, dit is it, ik wit net oer dy ... mar ik wit dat it op in stuit nuttich foar my wêze sil hahaha.

groetnis


De ynhâld fan it artikel hâldt him oan ús prinsipes fan redaksje etyk, Om in flater te melden klikje hjir.

10 opmerkingen, lit jo

Lit jo reaksje efter

Jo e-mailadres wurdt net publisearre.

*

*

  1. Ferantwurdlik foar de gegevens: Miguel Ángel Gatón
  2. Doel fan 'e gegevens: Control SPAM, kommentaarbehear.
  3. Legitimaasje: jo tastimming
  4. Kommunikaasje fan 'e gegevens: De gegevens wurde net oan tredden kommunisearre, útsein troch wetlike ferplichting.
  5. Gegevensopslach: Databank hoste troch Occentus Networks (EU)
  6. Rjochten: Op elk momint kinne jo jo ynformaasje beheine, herstelle en wiskje.

  1.   Oscar sei

    No, ik haw it testen en it jout allinich in 4-sifersnûmer werom, hoe kin ik it grutter meitsje?
    Hiel nijsgjirrige tip, tank.

    1.    KZKG ^ Gaara sei

      Jout in getal tusken 0 en 32768, ik ha gjin gruttere oantallen kinnen krije.

  2.   josue sei

    en kin it eksekimalen generearje ????

  3.   raaf sei

    VARIABLE = `echo $ (($ RANDOM))`

    Dat wurket, mar is net optimaal, om 'e ienfâldige reden dat RANDOM in fariabele is en jo kinne dwaan:
    fariabele = $ RANDOM
    en dat is it! rinne gjin echo yn in terminal aprte (dat is wat jo dogge)

    1.    KZKG ^ Gaara sei

      Ja, fansels kin it sa berikt wurde ... it iennige ferskil is dat it letter, om it getal te sjen dat de fariabele naam hat (om't de brûker gjin gûder is) nedich is in echo te dwaan .... en op it lêst is wat ik hjir doch gewoan it echo dwaan (sadat de brûker sjocht hokker nûmer wurdt nommen) fan it begjin ôf.

      Meitsje ik my begrepen? 🙂

  4.   Wuilmer bolivar sei

    In oare manier om in willekeurich getal te generearjen, hoewol it dizze kear dit kommando wêze soe:

    datum "+% N" | besunigje -c 9

    Dat soe ús de datum jaan yn nanosekonden mei 9 sifers. As wy in inkeld sifer wolle, dan sette jo de "knip -c 9" (it lêste sifer is altyd willekeuriger omdat it it lytste fan it getal is). As wy 2 sifers wolle, sette wy de "knip - c 8,9". As wy trije sifers wolle, dan "knip -c 7-9" (wy begjinne mei it koppelteken).

    It ienige minne ding hjiroer is as wy yn koarte tiid in protte willekeurige getallen op in rige wolle krije, om't dit in willekeurich getal is basearre op in datum mei syn tiid. Dat is, as wy in meitsje mei dat kommando kinne wy ​​dat sjen:

    $ foar i yn `seq 1 1 500`; dwaan datum "+% N"; dien

    ...
    ...
    ...

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

    ...
    ...
    ...

    Ik tink dat it dúdlik is? De sifers oan 'e linkerkant binne fansels mear yn in koarte romte, en dy oan' e rjochterkant binne mear "willekeurich".

  5.   swart each sei

    mmm…. Ik fûn it leuk, ik haw in mini-skript, it is skildere om willekeurige getallen te generearjen, tank.

  6.   G. sei

    It tsjinnet .. en in protte ..
    foaral as jo in interface yn bash programmearje mei wachtwurd, befeiliging, etc, etc, etc haha.
    Poerbêst aprote.

  7.   José Antonio folge Bent sei

    Hello.
    Alderearst fansels lokwinsken foar dizze treflike webside, dy't ik al lang folgje.
    En twad, meitsje in lytse notysje foar dizze yngong:
    As beheining sa wurdt dien:

    echo $ (($ RANDOM% 10))

    Wat jo de tolk bestelle is eins dat jo generearre getal altyd de modulus% is (rest fan 'e dieling) fan it folgjende nûmer, yn dit foarbyld, 10.
    Elk getal dield troch 10 sil nea as rest wat grutter jaan dan de skiedsrjochter sels.
    It probleem is dat it ek net itselde getal sil jaan, om't in dieling troch 0 net logysk is foar de tolk.

    Dit betsjut dat echo $ (($ RANDOM% 10) resultaten sil jaan tusken 0 en 9, mar nea 10.
    De oplossing foar dit konflikt is ien ta te foegjen oan jo limyt, sadat itselde oantal binnen it willekeurige berik falt.

    echo $ (($ RANDOM% 11))

    Dit sil resultaten jaan tusken 0 en 10.

    In groet.

  8.   amiel sei

    Hallo, ik wie krekt it bouwen fan sa'n ding, mar ik rûn tsjin in probleem.

    Ik wol meitsje 6 ferskillende nûmers út 00 oan 45, mar net werhelje se.

    echo $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($ RANDOM%46))

    EX: 17 33 16 36 45 27