(Bash): Paréntah pikeun ngahasilkeun nomer acak

Kadang-kadang, urang nuju program sababaraha skrip dina Bash …. sareng urang kedah (pikeun sababaraha alesan) ngahasilkeun sababaraha nomer acak.

Pikeun éta anjeun tiasa program sadayana aplikasi (atanapi fungsi ...) leres, tapi ... panasaran, sistem kami parantos ngalaksanakeun éta 😀

Dina terminal, ketik ieu sareng pencét [Lebetkeun]:

kamandang $ RANDOM

... angka bakal muncul, aranjeunna ngalakukeun sami sareng nomer anu sanés nembongan, sareng sajabina on

Anu dilakukeun nyaéta nunjukkeun anjeun nomer acak (naon waé) antara 0 sareng 32768 (integer, nyaéta, tanpa koma).

Upami anjeun peryogi janten angka acak, tapi antara 0 sareng ... hayu urang sebutkeun 100, anjeun tiasa nempatkeun wates éta 😀

gema $ (($ RANDOM% 100))

Sami, conto sanésna ... upami anjeun hoyong janten angka antara 0 sareng 29 éta bakal:

gema $ (($ RANDOM% 29))

Naha kahartos henteu? 😀

Upami aranjeunna bakal nganggo éta dina skrip bash anu dilakukeun, pikeun masihan nilai anu dihasilkeun (angka acak) kana variabel nyaéta:

VARIABLE = `gema $ (($ RANDOM))`

Sareng ieu ieu, kuring henteu terang ngeunaan anjeun ... tapi kuring terang yén éta bakal aya gunana pikeun kuring dina sababaraha waktos hahaha.

Wasalam


Eusi tulisan taat kana prinsip urang tina étika éditorial. Pikeun ngalaporkeun kasalahan klik di dieu.

10 koméntar, tinggalkeun anjeun

Ninggalkeun koméntar anjeun

email alamat anjeun moal diterbitkeun. Widang diperlukeun téh ditandaan ku *

*

*

  1. Jawab data: Miguel Ángel Gatón
  2. Tujuan tina data: Kontrol SPAM, manajemén koméntar.
  3. Legitimasi: idin anjeun
  4. Komunikasi data: Data moal dikomunikasikan ka pihak katilu kacuali ku kawajiban hukum.
  5. Panyimpenan data: Basis data anu diayakeun ku Occentus Networks (EU)
  6. Hak: Iraha waé anjeun tiasa ngawatesan, cageur sareng mupus inpormasi anjeun.

  1.   Oscar cenahna

    Nya, kuring parantos nyobian na éta ngan ukur ngasilkeun nomer 4-angka, kumaha kuring tiasa ngajantenkeun langkung ageung?
    Tip anu menarik pisan, hatur nuhun.

    1.    KZKG ^ Gaara cenahna

      Ngahasilkeun angka antara 0 sareng 32768, kuring henteu acan tiasa kéngingkeun nomer anu langkung ageung.

  2.   josue cenahna

    sareng tiasa ngahasilkeun exadecimals ????

  3.   manuk gagak cenahna

    VARIABLE = `gema $ (($ RANDOM))`

    Éta jalan tapi henteu optimal, ku alesan saderhana yén RANDOM mangrupikeun variabel sareng anjeun tiasa ngalakukeun:
    variabel = $ RANDOM
    sareng éta waé! entong lumpat kamandang dina aprte terminal (anu anjeun lakukeun)

    1.    KZKG ^ Gaara cenahna

      Leres, jelas éta tiasa kahontal sapertos kieu… ngan bédana nyaéta engké, pikeun ningali jumlah anu nyandak variabelna (kumargi pangguna sanés tebak), kedah ngalakukeun kamandang…. sareng tungtungna, naon anu kuring lakukeun di dieu nyaéta ngan saukur ngalakukeun kamandang (supados pangguna tiasa ningali nomer anu dicandak) ti mimiti.

      Naha kuring mastikeun sorangan? 🙂

  4.   Wuilmer bolivar cenahna

    Cara séjén pikeun ngahasilkeun angka acak, sanaos waktos ieu janten paréntah ieu:

    tanggal "+% N" | motong -c 9

    Éta bakal masihan kami tanggal dina nanodetik sareng 9 angka. Upami urang hoyong hiji digit, maka anjeun nempatkeun "cut -c 9" (digit terakhir sok langkung acak sabab éta anu pangleutikna tina nomer). Upami urang hoyong 2 inohong maka urang nempatkeun "motong - c 8,9". Upami urang hoyong tilu inohong maka "potong -c 7-9" (urang mimitian nganggo tanda hubung).

    Hiji-hijina hal anu goréng ngeunaan ieu nyaéta upami urang hoyong kéngingkeun seueur nomer acak dina urutan dina waktos anu singget, sabab ieu mangrupikeun nomer acak dumasar kana tanggal sareng waktos na. Nyaéta, upami urang ngadamel pikeun paréntah éta urang tiasa ningali éta:

    $ kanggo abdi dina `seq 1 1 500`; naha tanggal "+% N"; parantos

    ...
    ...
    ...

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

    ...
    ...
    ...

    Jigana jelas jelas? Angka di kénca langkung mirip dina waktos anu pondok, tangtosna, sareng anu di belah katuhu langkung "acak".

  5.   panon hideung cenahna

    mmm…. Abdi resep, kuring gaduh naskah mini, éta dicét pikeun ngahasilkeun nomer acak, hatur nuhun.

  6.   G. cenahna

    Éta ngalayanan .. sareng seueur ..
    utamina upami anjeun nuju program antar muka dina bash nganggo kecap akses, kaamanan, jst, jsb, jst haha.
    Aprote alus teuing.

  7.   José Antonio Nuturkeun Bent cenahna

    Hello.
    Mimiti, tangtosna, ucapan salamet dina halaman wéb anu saé ieu, anu kuring parantos lami nuturkeun.
    Sareng anu kadua, ngadamel catetan alit pikeun entri ieu:
    Nalika wates dilakukeun sapertos kieu:

    gema $ (($ RANDOM% 10))

    Sabenerna, anu anjeun pesenkeun pikeun juru éta nyaéta nomer anu dihasilkeun anjeun salawasna modulus% (sésana tina pembagian) tina angka salajengna, dina conto ieu, 10.
    Jumlah naon waé anu dibagi 10 sanés moal masihan sésa anu langkung ageung tibatan pembagi éta nyalira.
    Masalahna nyaéta yén éta moal masihan nomer anu sami ogé, kusabab pembagian ku 0 henteu logis pikeun juru.

    Ieu ngandung harti yén kamandang $ (($ RANDOM% 10) bakal masihan hasil antara 0 sareng 9, tapi henteu pernah 10.
    Solusi pikeun konflik ieu nyaéta nambihan hiji kana wates anjeun, sahingga jumlah anu sami aya dina kisaran acak.

    gema $ (($ RANDOM% 11))

    Ieu bakal masihan hasil antara 0 sareng 10.

    Hiji salam.

  8.   Amiel cenahna

    Halo, kuring ngan ukur ngawangun sapertos kieu, tapi kuring ngagaduhan masalah.

    Abdi hoyong ngadamel 6 angka béda ti 00 ka 45 tapi teu ngulang aranjeunna.

    gema $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $($RANDOM%46)) $(($RANDOM%46)) $($ Acak%46))

    EX: 17 33 16 36 45 27