Ahoana ny fanoratana ny basy ALL-Loops

Commands, Syntax, ary Ohatra

Azonao atao ny manatanteraka baiko maromaro amin'ny alalan'ny fanoratana azy ireo anaty rakitra script ary avy eo mihazakazaka izany.

Ny rakitra script dia dossier tsotra, matetika miaraka amin'ny fanitarana ny SSH, izay ahitana andalana toromarika izay mety ho azo atao ihany koa ao amin'ny baiko baiko ( shell ).

Raha ohatra Examples

Ireto ambany ireto dia ohatry ny fe-potoana fohy. Rehefa hovonoina ity rakitra ity dia hamoaka ny isa 1 ka hatramin'ny 9 eo amin'ny efijery. Ny fe-potoana manaraka dia manome fahafahana bebe kokoa amin'ny famaritana ny fepetra fanakatonana fa tsy ny for-loop .

#! / bin / bash count = 1 raha [$ count -le 9] manao echo "$ count" torimaso 1 ((count ++))

Ohatra, azonao atao ny mametraka ny tsipika tsy misy farany amin'ny alàlan'ny famoahana ilay fanambarana an-tsoratra ("count ++))":

# !/ bin / bash count = 1 raha [$ count -le 9] manao echo "$ count" matory 1

Ny fehezan-teny "sleep 1" dia miatoika amin'ny famonoana ho 1 segondra isaky ny dingana tsirairay. Ampiasao ny fikandrana klavin'i Ctrl + C mba hamafana ilay dingana.

Azonao atao ihany koa ny mamorona fefy tsy manam-petra amin'ny fametrahana tsangambato ho toy ny fepetra:

#! / bin / bash count = 1 raha: avereno ny "count count" $ 1 ((count ++))

Mba hampiasana ny fepetra maromaro amin'ny fe-potoana, dia tsy maintsy mampiasa ny fampisehoana an-tariby roa ianao:

Ny isa 1 dia = 0 raha [[$ count -le 9] && [$ done == 0]] manao echo "$ count" matory 1 ((count ++)) raha [$ count == 5]; Avy eo $ done = 1 fi

Ao amin'io script io, ny "variana" dia alaina amin'ny 0 ary avy eo mametraka amin'ny 1 rehefa mahatratra ny laharana 5. Ny fepetran'ny loop dia milaza fa ny tohiny dia mbola hitohy raha toa ka ny "count" dia latsaky ny sivy ary ny "vita" dia mitovy to zero. Noho izany, ny loepitra dia mivoaka raha ny isa mitovy dia 5.

Ny "&&" dia midika hoe "sy" ary "||" midika hoe "na".

Fanamarihana hafa momba ny fifandonana "ary" na "na" amin'ny fepetra dia "-a" ary "-o" miaraka amin'ny tokotany tokana. Ny fepetra etsy ambony:

[[$ count -le 9] && [$ atao == 0]]

... azo averina soratana tahaka izao:

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

Ny famakiana rakitra an-tsoratra dia atao amin'ny fe-potoana fohy. Amin'ity ohatra manaraka ity, ny script bash dia mamaky ny andalana amin'ny alàlan'ny andian-drakitra antsoina hoe "inventory.txt:"

FILE = inventory.txt exec 6

Ny laharana voalohany dia manendry ny anaran'ny rakitra fidirana amin'ny "FILE". Ny andalana faharoa dia mamonjy ny "fampidiram-pejy" ao amin'ny descriptor "6" (mety hisy lanjany eo anelanelan'ny 3 sy 9). Natao izany mba hahafahana manitsy ny "input standard" amin'ny fandefasana ny "0" amin'ny faran'ny script (jereo ny fanambarana "exec 0" ao amin'ny laharana faha-3 ny asam-pampandrosoana nomena ny filazana ny "0", izay ampiasaina ho an'ny fampidiran-tsoratra. Ny teny "mamaky" dia mamaky andalana iray avy amin'ny rakitra eo amin'ny isarasyon tsirairay ary manendry azy amin'ny "variable line1".

Mba hialana amin'ny fotoana fohy, dia azonao ampiasaina ny fanambarana fanoherana toy izao:

Ny isa = 1 atao = 0 raha toa ka [$ count -le 9] manao echo "$ count" torimaso 1 ((count ++)) raha [$ count == 5] avy eo break broken done echo vita

Ny fanambarana momba ny fialan-tsasatra dia mandingana ny famonoana ny programa hatramin'ny farany ary manatanteraka fanambarana manaraka azy. Amin'ity tranga ity, ny fanambarana "Echo Finished."

Ny fanambaràna mitohy kosa, etsy ankilany, dia mametraka ny sisa amin'ny fe-potoana ankapobeny amin'ny fanambarana amin'izao fotoana izao ary mitsambikina mivantana amin'ny dingana manaraka:

Ny isa 1 dia = 0 raha toa ka [sleep count 9] dia matory 1 ((count ++)) raha [$ count == 5] avy eo fohy fi ero "$ count" done echo vita

Amin'io tranga io, ny teny hoe "mitohy" dia atao rehefa mitranga ny "count". 5. Midika izany ny fanambarana manaraka (echo "$ count") dia tsy novitaina tamin'ity ity iteration ity (raha ny sandan'ny "count" dia 5).