Ako nastaviť bash premenné na náhodné čísla



Vyskúšajte Náš Nástroj Na Odstránenie Problémov

Náhodné číslo môžete ľahko vygenerovať na príkazovom riadku bash, pomocou ktorého môžete dané číslo nastaviť ako premennú. To je užitočné pre všetko, od písania určitých typov skriptov až po hranie stolových roleplayingových dobrodružstiev. Či už môžete písať kampaň D&D alebo vytvárať nástroje v silnom jazyku bash, obyčajne vám môže uniknúť jediný riadok kódu. Toto je tiež veľmi užitočný nástroj pri pokuse o vykonanie určitých bezpečnostných kontrol, ale mali by ste pamätať na to, že dobré crackery môžu tieto jednoduché generátory čísel obísť. Stále sú užitočné na generovanie určitých typov hesiel a kódov, ktoré by aj tak mohli pomôcť zaistiť bezpečnosť.



Existuje niekoľko rôznych spôsobov, ako to dosiahnuť, a nie každá technika je vhodná pre každú situáciu, preto sme sa všemožne snažili jednotlivé spôsoby preskúmať a vyskúšať, aby fungovali. Aby ste to mohli otvoriť, musíte pracovať z terminálu, takže pomocou klávesovej skratky Ctrl + Alt + T alebo Super (Windows) + T otvorte grafický terminál, začnite jedným z nich, keď do terminálu napíšete terminál, vyberte ho z ponuky Application alebo Whisker ponuky Systémové nástroje alebo zamierte do virtuálneho terminálu pomocou klávesov Ctrl, Alt a klávesov medzi F1 a F6.



Metóda 1: Výber celého náhodného bytu

Náhodné číslo od 1 do 256 môžete vygenerovať spustením nasledujúceho príkazu priamo z príkazového riadku bash:



z -An -N1 -tu1 / dev / urandom

Aj keď niekedy môžete vidieť tento príkaz odkazovaný na / dev / random namiesto / dev / urandom, pravdepodobne nebudete chcieť spustiť tento spôsob. To môže neúmyselne pripraviť ďalšie programy o možnosť používať generátor náhodných semien počas jeho používania. Po spustení programu a získaní čísla si môžete byť istí, že bude fungovať aj takto:



ranNum = $ (($ (od -An -N1 -tu1 / dev / urandom)))

Týmto nastavíte premennú ranNum na číslo od 1 do 256, ktoré ste vybrali v čase jej spustenia. Môžete ho spustiť z príkazového riadku alebo z vnútra skriptu a malo by to fungovať tak či onak. Nezabudnite, že súbor ranNum môžete nahradiť ľubovoľným platným názvom premennej.

Metóda 2: Nastavenie premennej na náhodné číslo medzi 1 a akýmkoľvek

Môžete spustiť echo $ [RANDOM% 40 + 1] z príkazového riadku a poslať náhodné číslo medzi 1 a 40 priamo na štandardný výstup, ale môžete tiež nahradiť 40 v príkaze prakticky ľubovoľným číslom. Architektúre vášho hostiteľského počítača nakoniec dôjdu číslice alebo možno bash, ale je pochybné, že také vysoké číslo aj tak potrebujete.

Predpokladajme, že chcete pre svoju premennú konfiguráciu vygenerovať náhodné číslo od 1 do 10. Môžete spustiť:

ranNum = $ [NÁHODNÉ% 10 + 1]

Majte na pamäti, že 10 môžete nahradiť ľubovoľnou hornou hodnotou, ktorú chcete. Táto hodnota je inkluzívna, čo znamená, že 10 je platný vrátený údaj. Ak ste to chceli znížiť o jednu, jednoducho namiesto hodnoty C alebo C ++ –1 matematika urobte hodnotu 9. Pri nastavovaní premennej pomocou tejto metódy nie sú potrebné. V skutočnosti vygenerujú neočakávané výsledky pridaním alebo odpočítaním číslic.

Metóda 3: Výber jedného náhodného bitu

Ak potrebujete nastaviť premennú na náhodný bit buď nulový, alebo jeden, možno budete chcieť upraviť predchádzajúci kód nasledovne:

ranNum = $ (($ (od -An -N1 -i / dev / urandom)% 2))

Tento kód nastaví ranNum na 1 alebo 0 v závislosti od toho, či čísla, z ktorých vzorkoval, / dev / urandom súbory boli párne alebo nepárne. To môže byť užitočné, ak potrebujete nastaviť jednoduchú rovnicu áno alebo nie na jeden alebo druhý stav.

Ak to nie je dostatočne náhodné pre to, na čom pracujete, môžete získať o niečo náhodnejšie číslo zavolaním do adresára / proc / sys / kernel / random pomocou:

ranNum = $ ((0x $ (cut -c1-1 / proc / sys / kernel / random / uuid)% 2))

Týmto sa však opäť nastaví iba premenná na 1 alebo 0, čo je ideálne riešenie pre binárnu logiku, ale nie také užitočné pre časy, keď budete potrebovať dlhšie číslo. Ak by ste to však potrebovali, môžete použiť ktorýkoľvek z týchto riadkov v bash skripte. Táto druhá možnosť by mohla byť v skutočnosti lepšia pre situácie, keď zlyháva aj prvá

Metóda 4: Tvorba základných skriptov na vrátenie náhodných čísel

Ak chcete mať kedykoľvek k dispozícii šikovný nástroj na generovanie náhodných čísel, môžete si na to vytvoriť skript príkazového riadku. Toto nepoužíva nič viac, ako má štandardný jazyk bash, ktorý má väčšina moderných výziev pre Linux, takže každá moderná distribúcia Linuxu a veľa operačných systémov založených na BSD by to malo zvládnuť v pohode. Možno budete chcieť použiť cd ~ / .local / bin ešte predtým, ako sa uistíte, že máte svoj skript na mieste, kde ho môžete spustiť odkiaľkoľvek.

Začnite zadaním nano random alebo vi random, hoci pre skript môžete použiť iný názov. Ak chcete, môžete tiež použiť iný textový editor. Povedzme, že chcete vytvoriť taký, ktorý po zadaní príkazového riadku vráti hodnotu 1 alebo 0. Zadajte nasledujúci text a stlačte Ctrl + O, aby ste ho uložili, ak používate nano:

#! / bin / bash ranNum = $ (($ RANDOM% 2)) echo $ ranNum

Stlačením klávesovej skratky Ctrl + X ukončite textový editor a po návrate na príkazový riadok použite chmod + x random, aby bol váš skript použiteľný. Môžete samozrejme použiť ranNum = $ [RANDOM% 10 + 1], ranNum = $ (($ (od -An -N1 -tu1 / dev / urandom))) alebo akýkoľvek iný riadok namiesto ranNum = $ (($ RANDOM% 2)), aby ste mohli presne určiť, aké číslo chcete späť. Povedzme, že ste chceli pravidelne vyberať číslo od 1 do 50. Zmeňte text základného skriptu na:

#! / bin / bash ranNum = $ [RANDOM% 50 + 1] echo $ ranNum

Teraz ho môžete ľahko spustiť z príkazového riadku zadaním náhodného čísla, kedykoľvek chcete vygenerovať náhodné číslo.

4 minúty prečítané