Yuav Sau Ntawv Sau Li Cas UA LIAM-Loops

Commands, Syntax, thiab Cov Piv txwv

Koj tuaj yeem ua raws li cov lus txib ntawm kev sau cia los ntawm kev sau ntawv rau hauv cov ntawv sau cia thiab tom qab ntawd khiav.

Ib tsab ntawv thov tsab ntawv tsuas yog ib cov ntawv luam, feem ntau nrog rau cov ntaub ntawv SF ntxiv, uas muaj cov lus qhia ntawm cov lus qhia uas tseem yuav raug tua los ntawm cov kab hais kom ua ( plhaub ).

Pliag Cov Poj Tsom Poob

Hauv qab no yog ib qho piv txwv ntawm ib lub sijhawm ua haujlwm. Thaum sau tseg, tsab ntawv no yuav luam tawm cov lej 1 txog 9 ntawm qhov screen. Lub sijhawm cov lus tseem ceeb muab rau koj kom paub meej txog qhov kev rhuav tshem ntawm kev ua haujlwm rau lub vev xaib .

#! / bin / bash suav = 1 thaum [$ suav-9] ua ntsuas "$ suav" pw tsaug zog 1 ((suav +++))

Piv txwv li, koj tuaj yeem ua tsab ntawv sau ua ntej ib qho voj vev los ntawm kev sau nqe lus "increment" ((suav +++)) ":

#! / bin / bash suav = 1 thaum [$ suav-9] ua ntsuas "$ suav" pw tsaug zog 1 ua tiav

Tsab ntawv "pw tsaug zog 1" pauses qhov kev txiav txim rau 1 thib ob ntawm txhua lub iteration. Siv Ctrl + C keyboard shortcut los rhuav tshem cov txheej txheem.

Koj tuaj yeem tsim tau ib qho kev voj voog uas muaj qhov tso cov nyuv rau qhov mob:

#! / bin / bash suav = 1 thaum: ua echo "$ suav" pw tsaug zog 1 ((suav +++))

Yuav kom siv ntau yam kev mob hauv lub sijhawm-voj, koj yuav tsum siv ob lub voj voog cim:

suav = 1 ua = 0 thaum [[$ count-9]] & & [$ done == 0] ua ntsuas "$ suav" pw tsaug zog 1 ((suav ++)) [$ count == 5]; ces $ ua tiav = 1 ua tiav

Hauv tsab ntawv no, qhov txawv ntawm "ua tiav" yog pib rau 0 thiab tom qab ntawd teem caij rau 1 thaum lub suav nce mus txog 5. Lub voj kab lus hais tias thaum lub voj txuas ntxiv mus ntev li "suav" tsawg dua cuaj thiab "ua" sib npaug kom xoom. Vim li no lub loops tawm thaum qhov suav qhov sib npaug 5.

Qhov "&&" txhais tau hais tias cov zajlus kom "thiab" thiab "||" txhais tau hais tias "los yog".

Lwm txoj kev cim rau cov kev sib txuas ntawm "thiab" thiab "lossis" hauv "conditions" -a "thiab" -o "nrog rau ib qho square square. Qhov saum toj no mob:

[[$ count -l 9] & & [$ ua == 0]]

... yuav rov qab sau tau dua:

[$ count -le 9] -a [$ done == 0]

Nyeem cov ntawv nyeem yog feem ntau ua tiav nrog ib lub sijhawm ua haujlwm. Hauv cov piv txwv nram qab no, tsab ntawv bash nyeem cov kab hauv kab los ntawm kab ntawm cov ntaub ntawv hu ua "inventory.txt:"

COV NTAUB NTAWV = inventory.txt exec 6

Thawj kab ntawv muab cov ntaub ntawv tawm tswv yim rau qhov "FILE". Qhov thib ob kab yog qhov "standard input" hauv cov ntaub ntawv "6" (nws yuav yog tus nqi ntawm 3 thiab 9). Qhov no yog ua kom "txheem cov ntaub ntawv" tuaj yeem txum tim rov qab mus ua cov ntaub ntawv "0" tom kawg ntawm tsab ntawv (saib nqe lus "exec 0" nyob rau hauv kab thib 3 ntawm cov ntaub ntawv tawm tswv yim rau cov ntaub ntawv "0," uas yog siv Qhov "nyeem" cov lus ces nyeem ib kab ntawm cov ntaub ntawv ntawm txhua lub iteration thiab assigns nws mus rau qhov "variable1".

Yuav kom tsis pub dhau ib lub sijhawm-voj, koj tuaj yeem siv cov lus lov ua kom zoo li no:

suav = 1 ua = 0 thaum [$ suav-9] ua ntsuas "$ count" pw 1 ((suav +++)) yog [$ count == 5] ces ua txhaum

Cov nqe lus tawg ua ke hlo qhov kev ua tiav qhov kawg thaum lub sij hawm lub voj thiab ua raws cov lus hauv qab no. Hauv qhov no, nqe lus "Ncaim tiav."

Cov lus txuas mus ntxiv, ntawm qhov tod tes, twv tsuas yog tus so ntawm lub sij hawm voj kab lus ntawm qhov tam sim no iteration thiab jumps ncaj qha mus rau tom ntej iteration:

suav = 1 ua tiav = 0 thaum [$ suav-9] pw tsaug zog (suav ++)) yog tias [$ count == 5] ces mus txuas ntxiv "$ count" ua echo Finished

Hauv qhov no, nqe lus "txuas ntxiv" yog thaum tus zauv "suav" nce mus txog 5. Qhov no txhais tau tias cov nqe lus tom ntej (sau "$ count") tsis raug sau rau ntawm qhov kev ua no (thaum tus nqi ntawm "suav" yog 5).