(Bash): Prentah kanggo ngasilake nomer acak

Kadhangkala, kita program sawetara skrip ing Bash …. lan kita kudu (sakperangan alesan) ngasilake sawetara acak.

Kanggo sampeyan, sampeyan bisa program kabeh aplikasi (utawa fungsi ...) ya, nanging ... penasaran, sistem kita wis nindakake 😀

Ing terminal, ketik ing ngisor iki banjur penet [Ketik]:

kumandhang $ RANDOM

... nomer bakal katon, padha uga nindakake maneh lan nomer liyane bakal katon, lan liya-liyane 🙂

Sing ditindakake yaiku nuduhake nomer acak (antarane) antarane 0 lan 32768 (wilangan bulat, yaiku tanpa koma).

Yen sampeyan butuh dadi nomer acak, nanging ing antarane 0 lan ... umpamane 100, sampeyan bisa menehi watesan kasebut 😀

kumandhang $ (($ RANDOM% 100))

Semono uga conto liyane ... yen sampeyan pengin dadi nomer antarane 0 lan 29 yaiku:

kumandhang $ (($ RANDOM% 29))

Apa dingerteni ora? 😀

Yen bakal digunakake ing skrip bash sing lagi ditindakake, kanggo menehi nilai sing diasilake (nomer acak) menyang variabel yaiku:

VARIABLE = `kumandhang $ (($ RANDOM))`

Iki uga, aku ora ngerti babagan sampeyan ... nanging aku ngerti yen bakal migunani kanggo aku ing sawetara wektu hahaha.

regards


10 komentar, tinggalake sampeyan

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.

  1.   oscar ngandika

    Ya, aku wis nyoba lan mung ngasilake nomer 4 digit, kepiye supaya luwih gedhe?
    Tip sing menarik banget, matur nuwun.

    1.    KZKG ^ Gaara ngandika

      Ngasilake nomer antarane 0 lan 32768, aku durung bisa entuk nomer sing luwih gedhe.

  2.   josue ngandika

    lan bisa ngasilake exadecimals ????

  3.   manuk gagak ngandika

    VARIABLE = `kumandhang $ (($ RANDOM))`

    Bisa digunakake nanging ora optimal, amarga ana sebab sing gampang yaiku RANDOM minangka variabel lan sampeyan bisa nindakake:
    variabel = $ RANDOM
    lan sing paling iku! aja mbukak kumandhang ing terminal aprte (sing sampeyan lakoni)

    1.    KZKG ^ Gaara ngandika

      Ya, jelas bisa diraih kaya iki… mung bedane yaiku mengko, kanggo ndeleng nomer sing dijupuk variabel (amarga pangguna dudu duga), prelu digawe kumandhang…. lan pungkasane, apa sing daklakoni ing kene mung gawe gema (supaya pangguna bisa ndeleng nomer sing dijupuk) wiwit wiwitan.

      Apa aku ngerti tenan? 🙂

  4.   Wuilmer bolivar ngandika

    Cara liya kanggo ngasilake nomer acak, sanajan iki prentah iki:

    tanggal "+% N" | ngethok -c 9

    Iki bakal menehi tanggal ing nanodetik karo 9 digit. Yen kita pengin siji tokoh, mula sampeyan sijine "cut -c 9" (tokoh pungkasan mesthi luwih acak amarga nomer kasebut paling cilik). Yen pengin 2 tokoh banjur pilih "cut - c 8,9". Yen pengin telung tokoh banjur "cut -c 7-9" (kita wiwit nggunakake tanda hubung).

    Siji-sijine perkara sing ala yaiku yen kita pengin entuk akeh nomer acak kanthi cepet sajrone sawetara wektu, amarga iki nomer acak adhedhasar tanggal lan wektu kasebut. Yaiku, yen nggawe prentah kanthi printah, mula bisa dideleng:

    $ kanggo aku ing `seq 1 1 500`; aja tanggal "+% N"; rampung

    ...
    ...
    ...

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

    ...
    ...
    ...

    Kayane jelas kan? Tokoh ing sisih kiwa luwih mirip ing wektu sing cendhak, mesthine lan sing ing sisih tengen luwih "acak".

  5.   mripat ireng ngandika

    mmm…. Aku seneng, aku duwe skrip mini sing dicet kanthi nomer acak, matur nuwun.

  6.   G. ngandika

    Dadi .. lan akeh ..
    luwih-luwih yen sampeyan ngolah antarmuka ing bash karo tembung sandhi, keamanan, lsp, lsp, lsp. haha.
    Aprote sing apik banget.

  7.   José Antonio ngetutake Bent ngandika

    Wigati
    Kaping pisanan, mesthine sugeng rawuh ing situs web sing apik iki, sing wis suwe dak tindakake.
    Lan sing nomer loro, gawe cathetan cilik kanggo entri iki:
    Yen watesan rampung kaya iki:

    kumandhang $ (($ RANDOM% 10))

    Sejatine, apa sing sampeyan pesen supaya penerjemah yaiku yen nomer sing digawe mesthi modulus% (turahan divisi) nomer sabanjure, ing conto iki, 10.
    Nomer apa wae sing dibagi karo 10 ora bakal menehi sing liyane luwih gedhe tinimbang pembagi kasebut.
    Masalahe yaiku ora bakal menehi nomer sing padha, amarga divisi kanthi 0 ora logis kanggo interpreter.

    Iki tegese kumandhang $ (($ RANDOM% 10) bakal menehi asil antara 0 lan 9, nanging ora bakal 10.
    Solusi kanggo konflik iki yaiku nambah siji ing wates sampeyan, supaya jumlah sing padha ana ing kisaran acak.

    kumandhang $ (($ RANDOM% 11))

    Iki bakal menehi asil antarane 0 lan 10.

    A Salam.

  8.   amiel ngandika

    Halo, aku mung mbangun kaya iki, nanging ana masalah.

    Aku pengin nggawe 6 nomer beda saka 00 kanggo 45 nanging ora mbaleni.

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

    EX: 17 33 16 36 45 27