Skip to main content

Kuinka kirjoittaa Bash WHILE-silmukat

Writing 2D Games in C using SDL by Thomas Lively (Huhtikuu 2025)

Writing 2D Games in C using SDL by Thomas Lively (Huhtikuu 2025)

Sisällysluettelo:

Anonim

Voit suorittaa komentojonoja kirjoittamalla ne komentotiedostoon ja suorittamalla se sitten.

Skriptitiedosto on yksinkertaisesti tekstitiedosto, yleensä .SH-tiedostopääte, joka sisältää ohjeen, joka voidaan myös suorittaa komentoriviltä (shell).

Vaikka silmukan esimerkit

Alla on esimerkki silmukan silmukasta. Kun tämä toteutetaan, tämä komentotiedosto tulostaa näytössä näkyvät numerot 1-9. While-lausuma antaa sinulle enemmän joustavuutta määritettäessä lopetus edellytys kuin for-loop.

Voit esimerkiksi tehdä edellisen käsikirjoituksen ääretönpiiriä jättämällä increment-lauseen "((count ++))":

"Sleep 1" -esitys keskeyttää toteutuksen 1 sekunnin kuluttua jokaisesta iteraatiosta. Käytä Ctrl + C -näppäimistön pikakuvaketta lopettaaksesi prosessin.

Voit myös luoda ääretön silmukka asettamalla kaksoispiste ehdoksi:

Jotta voit käyttää moninkertaisia ​​ehtoja while-silmukassa, sinun on käytettävä kaksoisnäkymän otsikkotunnusta:

Tässä käsikirjoituksessa muuttujan "tehnyt" alustetaan arvoon 0 ja asetetaan sitten arvoon 1, kun lukema saavuttaa 5. Loop-ehto kertoo, että silmukka taas jatkuu niin kauan kuin "count" on alle yhdeksän ja "done" on yhtä suuri nollaan. Siksi silmukat irtaavat, kun laskenta on sama kuin 5.

"&&" tarkoittaa loogista "ja" ja "||" tarkoittaa loogista "tai".

Vaihtoehtoinen merkintä sidosryhmille "ja" ja "tai" olosuhteissa on "-a" ja "-o", joissa on yksiriviset hakasulkeet. Edellä oleva edellytys:

… voidaan kirjoittaa uudelleen seuraavasti:

Tekstitiedoston lukeminen suoritetaan yleensä ajanhetken silmukan avulla. Seuraavassa esimerkissä bash-skripti lukee sisällön rivi rivillä "inventory.txt:"

Ensimmäinen rivi määrittää syötetiedoston nimen "FILE" -muuttujalle. Toinen rivi tallentaa "standarditulon" tiedostojen kuvaajalle "6" (se voi olla mikä tahansa arvo 3-9). Tämä tehdään niin, että "vakiotulo" voidaan palauttaa skriptin lopussa olevaan tiedostojen kuvaajaan "0" (ks. Toteamus "exec 0" Kolmannessa rivissä syöttötiedosto on määritetty tiedostojen kuvaajaksi "0", jota käytetään standardin syöttöä varten. "Lue" -lausunto lukee rivin jokaisesta iteroitumisesta ja määrittää sen riville "line1".

Voit purkaa aika-silmukan ennenaikaisesti seuraavasti:

Tauko-ilmoitus ohittaa ohjelman suorituksen loppuun silmukan aikana ja suorittaa minkä tahansa lausunnon jälkeen. Tällöin lausuma "Kaiku valmiiksi."

Jatkuva lausunto ohittaa kuitenkin vain loput nykyisen iteraation silmukkamallin ja siirtyy suoraan seuraavaan iterointiin:

Tällöin "jatka" -esitys suoritetaan, kun muuttujan "count" saavuttaa 5. Tämä tarkoittaa, että myöhempi lausuma (echo "$ count") ei suoriteta tällä iteroinnilla (kun "count" -arvo on 5).