(Bash): Perintah untuk menghasilkan nombor rawak

Kadang kala, kita memprogramkan beberapa skrip dalam Bash …. dan kita perlu (untuk beberapa sebab) untuk menghasilkan beberapa nombor rawak.

Untuk itu, anda dapat memprogram keseluruhan aplikasi (atau fungsi ...) ya, tetapi ... peliknya, sistem kami telah melakukannya 😀

Di terminal, taipkan yang berikut dan tekan [Masukkan]:

bergema $ RANDOM

... nombor akan muncul, mereka melakukan perkara yang sama sekali lagi dan nombor lain muncul, dan seterusnya 🙂

Apa yang dilakukannya ialah menunjukkan nombor rawak (mana-mana) antara 0 dan 32768 (bilangan bulat, iaitu tanpa koma).

Sekiranya anda memerlukannya sebagai nombor rawak, tetapi antara 0 dan ... katakanlah 100, anda boleh meletakkan had itu 😀

gema $ (($ RANDOM% 100))

Sama, contoh lain ... jika anda mahukan angka antara 0 dan 29 ia adalah:

gema $ (($ RANDOM% 29))

Adakah difahami tidak? 😀

Sekiranya mereka akan menggunakannya dalam skrip bash yang mereka lakukan, untuk menetapkan nilai yang dihasilkan (nombor rawak) kepada pemboleh ubah itu adalah:

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

Dan ini dia, saya tidak tahu tentang anda ... tetapi saya tahu bahawa ia akan berguna bagi saya pada suatu ketika hahaha.

salam


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Oscar kata

    Saya telah mengujinya dan hanya mengembalikan nombor 4 digit, bagaimana saya boleh membuatnya lebih besar?
    Petua yang sangat menarik, terima kasih.

    1.    KZKG ^ Gaara kata

      Mengembalikan nombor antara 0 dan 32768, saya tidak dapat memperoleh nombor yang lebih besar.

  2.   josue kata

    dan bolehkah ia menghasilkan eksadekim ????

  3.   raven kata

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

    Itu berfungsi tetapi tidak optimum, dengan alasan mudah bahawa RANDOM adalah pemboleh ubah dan anda boleh melakukan:
    pemboleh ubah = $ RANDOM
    dan itu sahaja! jangan jalankan gema di terminal aprte (yang anda lakukan)

    1.    KZKG ^ Gaara kata

      Ya, jelas ia dapat dicapai seperti ini ... satu-satunya perbezaan adalah kemudian, untuk melihat nombor yang diambil oleh pemboleh ubah (kerana pengguna bukan peneka), perlu melakukan gema .... dan pada akhirnya, apa yang saya lakukan di sini hanyalah melakukan gema (supaya pengguna melihat nombor apa yang diambil) dari awal.

      Adakah saya membuat diri saya difahami? 🙂

  4.   Bolivar Wuilmer kata

    Cara lain untuk menghasilkan nombor rawak, walaupun kali ini adalah perintah ini:

    tarikh "+% N" | potong -c 9

    Itu akan memberi kita tarikh dalam nanodetik dengan 9 digit. Sekiranya kita mahukan satu angka, maka anda meletakkan "cut -c 9" (angka terakhir selalu lebih rawak kerana itu adalah nombor terkecil). Sekiranya kita mahukan 2 angka maka kita meletakkan "cut - c 8,9". Sekiranya kita mahukan tiga angka maka "potong -c 7-9" (kita mula menggunakan tanda hubung).

    Satu-satunya perkara yang buruk adalah jika kita ingin mendapatkan banyak nombor rawak berturut-turut dalam masa yang singkat, kerana ini adalah nombor rawak berdasarkan tarikh dengan waktunya. Iaitu, jika kita membuat perintah dengan perintah itu, kita dapat melihat bahawa:

    $ untuk i dalam `seq 1 1 500`; buat tarikh "+% N"; selesai

    ...
    ...
    ...

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

    ...
    ...
    ...

    Saya fikir ia jelas bukan? Angka-angka di sebelah kiri lebih mirip dalam jangka waktu yang singkat, tentu saja, dan angka di sebelah kanan lebih "rawak".

  5.   mata hitam kata

    mmm…. Saya menyukainya, saya mempunyai skrip mini, ia dilukis untuk menghasilkan nombor rawak, terima kasih.

  6.   G. kata

    Ia berfungsi .. dan banyak ..
    terutamanya jika anda memprogramkan antara muka dengan kata laluan, keselamatan, dll, dan lain-lain, haha.
    Aprote yang sangat baik.

  7.   José Antonio Mengikuti Bent kata

    Hei.
    Sudah tentu, tahniah di laman web yang sangat baik ini, yang telah lama saya ikuti.
    Dan kedua, buat catatan kecil untuk entri ini:
    Apabila had dilakukan seperti ini:

    gema $ (($ RANDOM% 10))

    Sebenarnya, apa yang anda pesan kepada jurubahasa adalah bahawa nombor yang anda hasilkan selalu merupakan modulus% (baki bahagian) dari nombor berikutnya, dalam contoh ini, 10.
    Sebilangan nombor yang dibahagi dengan 10 tidak akan memberikan baki sesuatu yang lebih besar daripada pembahagi itu sendiri.
    Masalahnya ialah ia tidak akan memberikan nombor yang sama, kerana pembahagian dengan 0 tidak logik bagi jurubahasa.

    Ini bermaksud bahawa echo $ (($ RANDOM% 10) akan memberikan hasil antara 0 dan 9, tetapi tidak pernah 10.
    Penyelesaian untuk konflik ini adalah dengan menambahkan satu ke had anda, sehingga nombor yang sama berada dalam julat rawak.

    gema $ (($ RANDOM% 11))

    Ini akan memberikan hasil antara 0 dan 10.

    Sesuatu ucapan.

  8.   amiel kata

    Halo, saya baru sahaja membina sesuatu seperti ini, tetapi saya menghadapi masalah.

    Saya ingin membuat 6 nombor berbeza dari 00 hingga 45 tetapi tidak mengulanginya.

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

    Cth: 17 33 16 36 45 27