BASH programavimas

„Bash Infinite Loop“ kūrimas pagal scenarijų pavyzdžius

„Bash Infinite Loop“ kūrimas pagal scenarijų pavyzdžius
Begalinė Basho ar bet kurios kitos programavimo kalbos kilpa reiškia kilpą, kuri yra tęstinė, t.e., jos nutraukimo sąlyga niekada nėra įvykdyta arba jos vykdymo sąlyga amžinai lieka tiesa. Tokias kilpas bet kuria programavimo kalba labai paprasta parašyti. Nesvarbu, ar tai yra kilpa „už“, ar „kol“, ji gali būti begalinė, labai šiek tiek pakoreguota įprasta sintakse.

Šiame straipsnyje mes pasidalinsime su jumis įvairiais būdais, kaip patogiai sukurti „for“ ir „while“ kilpas be galo „Bash“ sistemoje „Linux Mint 20“.

„Bash Infinite Loop“ scenarijų pavyzdžiai sistemoje „Linux Mint 20“:

„Bash“ yra daugybė būdų, kaip dirbti su begalinėmis kilpomis, ir scenarijai, kurie tai demonstruoja, yra aprašyti toliau:

Pastaba: Visus šiame straipsnyje aptartus „Bash“ scenarijus galite pasiekti mūsų namų kataloge „InfiniteLoop“.sh.

Scenarijus Nr. 1: „Kol“, naudokite „Linux Mint 20“ Bash komandą „:“:

Šiame pavyzdyje sukursime nesibaigiančią „while“ kilpą susiedami ją su „:“ komanda „Bash“ sistemoje „Linux Mint 20“. Tiesiog nukopijuokite šį scenarijų, rodomą paveikslėlyje „Bash“ faile.

Kaip parodyta aukščiau esančiame „Bash“ scenarijuje, mes sukūrėme „while“ kilpą, po kurio eina komanda „:“. Ši komanda yra „true“ komandos alternatyva, o tai reiškia, kad nesvarbu, kokia situacija yra, kol ciklas visada vykdys. Šioje „kol“ kilpoje mes tiesiog išspausdinome pavyzdinį pranešimą, kuriame sakoma: „Bėk toliau“. Vėliau mes turime komandą „miegas“, ji laukia 1 sekundę, prieš spausdindama kiekvieną kitą pranešimą terminale.

Kai bus parašytas šis „Bash“ scenarijus, vykdysime jį naudodami žemiau nurodytą komandą:

„InfiniteLoop“.sh

Kai bus įvykdytas minėtas scenarijus, pastebėsite nesibaigiančius pranešimus, kuriuose sakoma: „Bėk toliau“, rodomi jūsų terminale, kaip parodyta šiame paveikslėlyje. Šie pranešimai bus sustabdyti tik paspaudus „Ctrl“ + C. Priešingu atveju ši kilpa tiesiog tęsis ir tęsis.

Scenarijus Nr. 2: „Nors“ ciklas naudoja „true“ komandą „Bash“ sistemoje „Linux Mint 20“:

Šiame pavyzdyje sukursime nesibaigiančią „while“ kilpą susiedami ją su „true“ komanda „Bash“ sistemoje „Linux Mint 20“. Tiesiog nukopijuokite paveikslėlyje rodomą scenarijų „Bash“ faile. Kaip pastebėjote, scenarijus yra visiškai toks pat, kokį sukūrėme per pirmąjį scenarijų. Tačiau vienintelis skirtumas yra tas, kad šį kartą komandą „:“ pakeitėme komanda „tiesa“. Nepaisant to, tai atliks tą patį tikslą.

Šį scenarijų vykdysime ta pačia komanda „bash“ ir savo terminale pastebėsime nesibaigiančią pranešimų seriją, kuri baigsis tik paspaudus „Ctrl“ + C, kaip parodyta žemiau esančiame paveikslėlyje:

Scenarijus Nr. 3: Vienas linijos „Nors“ ciklas naudojant „:“ komandą „Bash“ sistemoje „Linux Mint 20“:

Galite pastebėti, kad 1 ir 3 scenarijai yra be reikalo ilgi. Na, abu šiuos scenarijus galima suspausti į vieno linijos komandą. Tiesiog nukopijuokite scenarijų, parodytą žemiau esančiame paveikslėlyje:

Viršutiniame paveikslėlyje parodytas scenarijus yra tikslus scenarijaus Nr. 1 pakartojimas. Tačiau užuot rašę kiekvieną komandą skirtingoje eilutėje, mes jas paprasčiausiai atskyrėme naudodami kabliataškius.

Vykdydami šį scenarijų gausime tuos pačius rezultatus, kokius gavome atlikę scenarijų Nr. 1. Tai matyti iš toliau pateikto paveikslėlio:

Scenarijus Nr. 4: Vienas linijos „Nors“ ciklas, naudojant „true“ komandą „Bash“ sistemoje „Linux Mint 20“:

Panašiai mes galime išspausti scenarijų Nr. 2 vieno linijos komandoje. Tiesiog nukopijuokite scenarijų, parodytą žemiau esančiame paveikslėlyje:

Galima pastebėti, kad aukščiau esančiame paveikslėlyje parodytas scenarijus yra tikslus scenarijaus Nr. 2 pakartojimas. Vėlgi, vienintelis skirtumas yra tas, kad užuot rašę kiekvieną komandą skirtingoje eilutėje, mes tiesiog jas atskyrėme naudodami kabliataškius.

Vykdydami šį scenarijų, gausime tuos pačius rezultatus, kokius gavome vykdydami scenarijų Nr. 2. Tai matyti iš toliau pateikto paveikslėlio:

Scenarijus Nr. 5: „Loop“ be jokių parametrų „Bash“ sistemoje „Linux Mint 20“:

Šis pavyzdys skiriasi nuo scenarijų Nr. 1–4, nes užuot naudoję „while“ kilpą, mes sukursime begalinę „for“ kilpą. Tiesiog nukopijuokite scenarijų, parodytą žemiau esančiame paveikslėlyje:

Užduotis, kurią atliksime ciklo „už“ viduje, yra tokia pati, kaip ir su aukščiau aptartais scenarijais. Tačiau užuot naudoję „while“ kilpą, mes naudojome „for“ kilpą be jokių sąlygų ar parametrų. Jis visada vykdomas, nes jo sąlyga pagal numatytuosius nustatymus laikoma „tiesa“.

Šį scenarijų vykdysime ta pačia komanda „bash“ ir savo terminale pastebėsime nesibaigiančią pranešimų seriją, kuri baigsis tik paspaudus „Ctrl“ + C, kaip parodyta žemiau esančiame paveikslėlyje:

Išvada:

Šiame straipsnyje mes išmokėme jus penkių skirtingų būdų įgyvendinti begalines kilpas „Bash“. Šios kilpos tęsis amžinai, nes nenurodoma jokia nutraukimo sąlyga arba net jei tokia yra, ji niekada nepasitiks. Todėl, jei norite nutraukti šią nesibaigiančią kilpą, turėsite naudoti „break“ sakinį su konkrečia sąlyga šioje cikle arba vykdydami tokį scenarijų, jūs turite tiesiog paspausti Ctrl + C kaip aptarėme visus savo pavyzdžius.

5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...
Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...
Atvirojo kodo komercinių žaidimų variklių uostai
Nemokami atvirojo kodo ir įvairių platformų žaidimų varikliai gali būti naudojami žaidžiant senus ir kai kuriuos gana naujus žaidimų pavadinimus. Šiam...