(Bash): Фармон барои тавлиди рақами тасодуфӣ

Баъзан, мо баъзе скриптҳоро барномарезӣ мекунем Bash …. ва ба мо лозим аст (бо ягон сабаб) тавлиди ягон рақами тасодуфӣ.

Барои ин, шумо метавонед тамоми барномаро барномарезӣ кунед (ё функсия ...) ҳа, аммо ... кунҷкобона, системаи мо инро аллакай иҷро кардааст 😀

Дар терминал, инҳоро нависед ва пахш кунед [Дохил шудан]:

ҳамовоз $ RANDOM

... як рақам пайдо мешавад, онҳо ҳамон корро такрор мекунанд ва рақами дигар пайдо мешавад ва ғайра 🙂

Он чӣ гуна аст, ба шумо рақами тасодуфиро (дилхоҳ) дар байни 0 ва 32768 нишон медиҳад (бутун, яъне бидуни вергул).

Агар ба шумо рақами тасодуфӣ лозим бошад, аммо дар байни 0 ва ... 100 бигӯед, шумо метавонед ин маҳдудиятро дар болои он гузоред 😀

ҳамовоз $ (($ RANDOM% 100))

Мисол, мисоли дигар ... агар шумо хоҳед, ки он адади байни 0 ва 29 бошад, чунин хоҳад буд:

ҳамовоз $ (($ RANDOM% 29))

Оё фаҳмида намешавад? 😀

Агар онҳо онро дар скрипти bash истифода баранд, барои иҷро кардани арзиши тавлидшуда (адади тасодуфӣ) ба тағирёбанда чунин хоҳад буд:

VARIABLE = "echo $ (($ RANDOM))"

Хуб, ин аст, ман дар бораи ту намедонам ... аммо медонам, ки ин барои ман ягон вақт муфид хоҳад буд хахаха.

Бо тавзеҳот ҷавоб диҳед


Мазмуни мақола ба принсипҳои мо риоя мекунад ахлоқи таҳрирӣ. Барои гузориш додани хато клик кунед ин ҷо.

10 шарҳ, аз они шумо

Назари худро бинависед

Суроғаи почтаи электронии шумо нест, нашр карда мешавад.

*

*

  1. Масъул барои маълумот: Мигел Анхел Гатан
  2. Мақсади маълумот: Назорати СПАМ, идоракунии шарҳҳо.
  3. Қонунӣ: Розигии шумо
  4. Иртиботи маълумот: Маълумот ба шахсони сеюм расонида намешавад, ба истиснои ӯҳдадориҳои қонунӣ.
  5. Нигоҳдории маълумот: Пойгоҳи додаҳо аз ҷониби Occentus Networks (ИА) ҷойгир карда шудааст
  6. Ҳуқуқҳо: Ҳар лаҳза шумо метавонед маълумоти худро маҳдуд, барқарор ва нест кунед.

  1.   Оскар Диго

    Хуб, ман онро санҷида будам ва он танҳо рақами 4-рақама бармегардонад, чӣ гуна ман онро калонтар карда метавонам?
    Маслиҳати хеле ҷолиб, ташаккур.

    1.    КЗКГ ^ Гаара Диго

      Рақами байни 0 ва 32768 бар мегардонад, ман рақамҳои калонтар гирифта натавонистам.

  2.   шиша Диго

    ва он метавонад exadecimals тавлид кунад ????

  3.   шиноварӣ Диго

    VARIABLE = "echo $ (($ RANDOM))"

    Ин кор мекунад, аммо оптималӣ нест, аз сабаби оддӣ, ки RANDOM тағирёбанда аст ва шумо метавонед:
    тағйирёбанда = $ RANDOM
    ва ин аст! дар охири терминал акси садо надиҳед (ки шумо ҳамин тавр карда истодаед)

    1.    КЗКГ ^ Гаара Диго

      Бале, возеҳан ба ин ноил шудан мумкин аст ... танҳо фарқ дар он аст, ки баъдтар дидани рақаме, ки тағирёбанда гирифтааст (азбаски корбар тахминкунанда нест), бояд акси садо дод .... ва дар ниҳоят, он чизе, ки ман дар ин ҷо мекунам, ин танҳо ҳамовоз кардан аст (то корбар бубинад, ки чӣ рақам гирифта мешавад) аз аввал.

      Оё ман худамро мефаҳмонам? 🙂

  4.   Вилмер Боливар Диго

    Усули дигари тавлиди рақами тасодуфӣ, ҳарчанд ин дафъа ин фармон чунин хоҳад буд:

    санаи "+% N" | буридан -c 9

    Ин ба мо санаи наносекундӣ бо 9 рақам медиҳад. Агар мо мехоҳем як рақам дошта бошед, пас шумо "буриш -c 9" гузоштед (рақами охир ҳамеша ҳамеша тасодуфӣ аст, зеро ин рақам хурдтарин аст). Агар мо 2 рақам мехоҳем, пас мо "бурида - с 8,9" гузоштем. Агар мо се рақамро мехоҳем, пас "бурида -c 7-9" (мо истифодаи дефисро оғоз мекунем).

    Ягона чизи бади ин дар он аст, ки агар мо мехоҳем дар як муддати кӯтоҳ шумораи зиёди тасодуфиро ба даст орем, зеро ин рақами тасодуфӣ дар асоси сана бо вақти он мебошад. Яъне, агар мо бо фармон фармоиш диҳем, мебинем, ки:

    $ for i in `seq 1 1 500`; санаи кор "+% N"; кардааст

    ...
    ...
    ...

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

    ...
    ...
    ...

    Ман фикр мекунам ин дуруст аст? Албатта, рақамҳои чап дар як муддати кӯтоҳ бештар шабеҳанд ва онҳое, ки дар тарафи рост ҳастанд, бештар "тасодуфӣ" доранд.

  5.   чашми сиёҳ Диго

    ммм .... Ба ман писанд омад, ман скрипти хурд дорам, ки барои тавлиди рақамҳои тасодуфӣ ранг карда шудааст, ташаккур.

  6.   G. Диго

    Ин хидмат мекунад .. ва бисёр ..
    хусусан, агар шумо интерфейсро дар bash бо парол, амният ва ғайра ва ғайра барномарезӣ кунед haha.
    Апроти аъло.

  7.   Хосе Антонио Бентро пайравӣ кард Диго

    Салом!
    Пеш аз ҳама, албатта, табрикот бо ин вебсайти аъло, ки дер боз пайравӣ мекунам.
    Ва дуввум, ба ин вуруд ёддошти хурд ворид кунед:
    Ҳангоми маҳдудкунӣ чунин анҷом дода мешавад:

    ҳамовоз $ (($ RANDOM% 10))

    Дар асл, он чизе, ки шумо ба тарҷумон фармоиш медиҳед, ин аст, ки шумораи тавлидшудаи шумо ҳамеша модули% (боқимондаи тақсимот) -и рақами баъдӣ мебошад, дар ин мисол, 10.
    Ягон адади ба 10 тақсимшуда ҳеҷ гоҳ чизи бузургтар аз худи тақсимкунанда нахоҳад дод.
    Масъала дар он аст, ки он низ рақами якхеларо нахоҳад дод, зеро тақсим ба 0 барои тарҷумон мантиқӣ нест.

    Ин маънои онро дорад, ки echo $ (($ RANDOM% 10) байни 0 ва 9 натиҷа медиҳад, аммо ҳеҷ гоҳ 10.
    Роҳи ҳалли ин ихтилофот он аст, ки якеро ба маҳдудияти худ илова намоед, то худи ҳамон адад ба доираи тасодуфӣ афтад.

    ҳамовоз $ (($ RANDOM% 11))

    Ин натиҷаҳо дар байни 0 ва 10 медиҳад.

    Ташаккур.

  8.   Аммиел Диго

    Салом, ман танҳо чунин чизе месохтам, аммо ба мушкилот дучор шудам.

    Ман мехоҳам 6 рақами гуногунро аз 00 то 45 созам, аммо онҳоро такрор накунам.

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

    Мисол: 17 33 16 36 45 27

bool (ҳақиқӣ)