(Баш): Команда за генерирање на случаен број

Понекогаш, програмираме некоја скрипта во Баш .... и треба (поради некоја причина) да генерираме некој случаен број.

За тоа можете да програмирате цела апликација (или функција ...) да, но ... curубопитно нашиот систем веќе го стори тоа

Во терминал, напишете го следново и притиснете [Внесете]:

ехо $ СЛУЧНО

... ќе се појави број, тие повторно го прават истото и се појавува друг број, и така натаму 🙂

Она што го прави е да ви покаже случаен број (кој било) помеѓу 0 и 32768 (цел број, односно без запирка).

Ако ви треба да биде случаен број, но помеѓу 0 и ... да речеме 100, можете да го поставите тоа ограничување

ехо $ (($ СЛУЧНО% 100))

Истото, друг пример ... ако сакате тоа да биде број помеѓу 0 и 29, тоа би било:

ехо $ (($ СЛУЧНО% 29))

Дали е разбрано не? 😀

Ако тие ќе го користат во баш-скрипта што ја прават, за да ја доделат генерираната вредност (случаен број) на променлива, тоа би било:

ПРОМЕНЛИВО = `ехо $ (($ РАНОМНО))`

Па, ова е тоа, не знам за тебе ... но знам дека ќе ми биде корисно во одреден момент хахаха.

Со почит


Содржината на статијата се придржува до нашите принципи на уредничка етика. За да пријавите грешка, кликнете овде.

10 коментари, оставете ги вашите

Оставете го вашиот коментар

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени со *

*

*

  1. Одговорен за податоците: Мигел Анхел Гатон
  2. Цел на податоците: Контролирајте СПАМ, управување со коментари.
  3. Легитимација: Ваша согласност
  4. Комуникација на податоците: Податоците нема да бидат соопштени на трети лица освен со законска обврска.
  5. Складирање на податоци: База на податоци хостирани од Occentus Networks (ЕУ)
  6. Права: Во секое време можете да ги ограничите, вратите и избришете вашите информации.

  1.   Оскар dijo

    Па, го тестирав и враќа само 4-цифрен број, како можам да го направам поголем?
    Многу интересен совет, благодарам.

    1.    КЗКГ ^ Гаара dijo

      Враќа број помеѓу 0 и 32768, не успеав да добијам поголеми броеви.

  2.   josue dijo

    и дали може да генерира ексадецимали ????

  3.   гавран dijo

    ПРОМЕНЛИВО = `ехо $ (($ РАНОМНО))`

    Тоа работи, но не е оптимално, од едноставна причина што СЛУЧАЈОТ е променлива и можете да направите:
    променлива = $ СЛУЧНО
    и тоа е тоа! не пуштај ехо во терминал (што е тоа што го правиш)

    1.    КЗКГ ^ Гаара dijo

      Да, очигледно може да се постигне вака ... единствената разлика е во тоа што подоцна, за да се види бројот што го зеде променливата (бидејќи корисникот не е погодувач), ќе биде потребно да се направи ехо. и на крајот, она што го правам тука е едноставно да направам ехо (за да може корисникот да види кој број е земен) од самиот почеток.

      Дали се разбирам? 🙂

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

    Друг начин да генерирате случаен број, иако овој пат тоа би била оваа команда:

    датум "+% N" | исечете -в 9

    Тоа ќе ни го даде датумот во наносекунди со 9 цифри. Ако сакаме една цифра, тогаш ќе ја поставите „исечете-c 9“ (последната цифра е секогаш по случаен избор затоа што е најмалата од бројот). Ако сакаме 2 фигури, тогаш го ставаме "исечокот - в 8,9". Ако сакаме три фигури тогаш „исечи -ц 7-9“ (започнуваме да ја користиме цртичката).

    Единствената лоша работа во врска со ова е ако сакаме да добиеме многу случајни броеви по ред за кратко време, бидејќи ова е случаен број заснован на датум со своето време. Тоа е, ако направиме за со таа команда можеме да видиме дека:

    $ за i во `сек. 1 1 500`; направете датум "+% N"; направено

    ...
    ...
    ...

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

    ...
    ...
    ...

    Мислам дека е јасно нели? Бројките од левата страна се повеќе слични за краток временски период, се разбира, а оние од десната страна се повеќе „случајни“.

  5.   црно око dijo

    ммм. Ми се допадна, имам мини скрипта, насликана е за да генерира случајни броеви, благодарам.

  6.   G. dijo

    Служи .. и многу ..
    особено ако програмирате интерфејс во баш со лозинка, безбедност, итн, итн, итн хаха.
    Одличен апроте.

  7.   Хозе Антонио го следеше свитканиот dijo

    Еј.
    Како прво, секако, честитки за оваа одлична веб-страница, која ја следам подолго време.
    И второ, направете мала белешка за овој запис:
    Кога ограничувањето се прави вака:

    ехо $ (($ СЛУЧНО% 10))

    Всушност, она што го нарачувате преведувачот е дека вашиот генериран број е секогаш модул% (остаток од поделбата) на последователниот број, во овој пример, 10.
    Било кој број поделен со 10 никогаш нема да даде како остаток нешто поголемо од самиот делител.
    Проблемот е во тоа што нема да го даде истиот број или, бидејќи поделбата со 0 не е логична за толкувачот.

    Ова значи дека ехо $ (($ RANDOM% 10) ќе даде резултати помеѓу 0 и 9, но никогаш 10.
    Решението за овој конфликт е да додадете еден на вашата граница, така што истиот број спаѓа во случаен опсег.

    ехо $ (($ СЛУЧНО% 11))

    Ова ќе даде резултати помеѓу 0 и 10.

    Честитка.

  8.   Амиел dijo

    Здраво, само што градев вакво нешто, но наидов на проблем.

    Сакам да направам 6 различни броеви од 00 до 45, но да не ги повторувам.

    ехо $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($) СЛУЧАЈНИ% 46))

    ПР: 17 33 16 36 45 27