Ahoana ny fampiasana ny famarotana BASH "for" amin'ny sora-tanana shell
BASH (izay misolo an'i Bourne indray Shell) dia tenim-paritra iray ampiasain'ny ankamaroan'ny Linux sy UNIX-based operating systems.
Azonao atao ny mandidy ny baiko BASH ao anaty fikandrana iray eo aorian'ny iray hafa, na azonao ampidirina ireo baiko ireo amin'ny rakitra an-tsoratra hanamboarana rakitsoratra shell.
Ny zavatra goavana momba ny fanoratana ny soratra amin'ny shell dia ny ahafahanao manosika azy ireo hatrany hatrany. Ohatra, alao sary an-tsaina hoe mila manampy mpampiasa iray ianao, mametraka ny fahazoan-dàlana ary mitantana ny tontolo iainana manomboka. Azonao atao ny manoratra ny baiko amin'ny tapa-taratasy iray ary manamboatra azy ireo rehefa manampy olon-baovao ianao na afaka manoratra script iray tokana ary mametraka paikady fotsiny ao amin'io script io.
Ny fiteny fampiasa amin'ny fiteny toy ny BASH dia manangana tranokala mitovy amin'ny fiteny hafa. Azonao atao, ohatra, ny fampidiran-drakitra misokatra mba ahafahana miditra ao amin'ny klavier ary manangona azy ireo ho variables. Azonao atao ny mandray ny script mba hanatanteraka hetsika iray miorina amin'ny sandan'ny input parameters .
Ny ampahany manan-danja amin'ny fandaharana programming sy ny scripting dia ny fahafahana manomboka ilay fehezan-dalàna mitovy hatrany hatrany.
Misy fomba maro hamerenana ny fehezan-dalàna (antsoina koa hoe loop). Ao amin'ity fitarihana ity, dia haseho anao ny fomba hanoratana ny "for".
A ho an'ny loop dia mamerina ampahany amin'ny fehezan-dalàna miverimberina. Ilaina izy ireo mba hahafahan'ny andiam-baiko maromaro mihazakazaka mandra-pahatongan'ny toe-javatra iray manokana, aorian'izay dia hijanona izy ireo.
Amin'ity toro-lalana ity, dia haseho amin'ny fomba dimy ny fampiasana ny loop ao anatin'ny script BASH.
Alohan'ny hanombohana
Alohan'ny hanombohanao amin'ny ohatra ho an'ny loop, mila sokafana fikandrana iray ianao ary araho ireto dingana ireto:
- Ampidiro ny rakitra mkdir ( mianatra bebe kokoa momba ny mkdir eto )
- Ampidiro ny rakitra CD ( manova ny lahatahiry mankany scripts )
- Ampidiro ny nano examplen.sh (izay misy ny ohatra nasainao )
- Ampidiro ny script
- Tsindrio CTRL + O mba hamonjena sy CTRL + X ny fivoahana
- Run bash examplen.sh (indray, miaraka amin'ny n ho ny ohatra izay miara-miasa ianao)
Ahoana no fomba hidirana amin'ny lisitra
#! / Bin / bash
ho an'ny isa amin'ny 1 2 3 4 5
manao
echo $ number
vita
exit 0
Ny fomba BASH amin'ny fampiasana loop for "dia" dia tsy mitovy amin'ny fomba iantsoana ny ankamaroan'ny fandaharana programming sy ny scripting languages. Andao handrava ilay script ...
Ao amin'ny BASH "for" ho an'ny rehetra, ny fanambarana ny atao sy ny atao dia atao indray mandeha isaky ny singa ao amin'ny lisitra.
Ao amin'io ohatra etsy ambony io, ny lisitra dia ny zavatra rehetra izay tonga aorian'ny teny ao (ie 1 2 3 4 5).
Isaky ny manomboka ny loop, ny sanda manaraka ao anatin'ilay lisitra dia ampidirina ao amin'ny fari-peo voatondro aorian'ny teny hoe "for" . Ao amin'io loopio etsy ambony io, ny fari-piainana dia antsoina hoe laharana .
Ny fanambarana echo dia ampiasaina hampisehoana vaovao amin'ny efijery.
Noho izany, ity ohatra ity dia mametraka ny isa 1 ka hatramin'ny 5 ary mamoaka azy tsirairay avy eo amin'ny efijery:
- 1
- 2
- 3
- 4
- 5
Fomba fampidinana eo amin'ny dingam-piaramanidina sy ny fijanonana farany
Ny olana amin'ny ohatra etsy ambony dia ny hoe raha te handamina lisitra lehibe ianao (milaza ny 1 ka hatramin'ny 500), dia mety haharitra taona maromaro ny isa rehetra amin'ny voalohany.
Ity dia mitondra antsika ho amin'ny ohatra faharoa izay mampiseho ny fomba famaritana ny fiandohana sy ny teboka farany:
#! / Bin / bash
ho an'ny laharana amin'ny {1..10}
manao
echo "$ number"
vita
exit 0
Ny fitsipika dia mitovy ihany. Ny soatoavina manaraka ny teny hoe " in" dia mamorona ny lisitra mba hamerenana azy ary ny isa tsirairay ao anatin'io lisitra io dia apetraka ao amin'ny fari-dalany (izany hoe isa izany), ary isaky ny mihetsika ny loop dia ny fanambarana ny atao sy ny atao dia atao.
Ny fahasamihafana lehibe dia ny fomba fiasan'ny lisitra. Ny kofehy marevaka {} amin'ny ankapobeny dia midika hoe maromaro, ary ny isa, amin'ity tranga ity, dia ny 1 ka hatramin'ny 10 (ny roa teboka manasaraka ny fiandohana sy ny faran'ny faritra).
Ity ohatra ity dia mamakivaky ny isa tsirairay eo anelanelan'ny 1 sy 10 ary mamoaka ny isa amin'ny efijery toy izao manaraka izao:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Ny fehezan-dalàna iray ihany dia azo nosoratana toy izao, miaraka amin'ny sentaks mitovy amin'ny ohatra voalohany:
for number in 1 2 3 4 5 6 7 8 9 10
Fomba handikana Nomeranana amin'ny laharana
Ny ohatra teo aloha dia mampiseho ny fomba fifamatorana eo amin'ny fiandohana sy ny fiafaràny, dia hojerentsika izao ny fomba handosirana ny isa ao anatin'ny faritra.
Alao sary an-tsaina hoe te hihoranao eo anelanelan'ny 0 sy 100 ianao fa ny ampahafolon'ny ampahafolony ihany no asehoy. Ity script ity dia mampiseho ny fomba hanaovana izany:
#! / Bin / bash
ho an'ny laharana amin'ny {0..100..10}
manao
echo "$ number"
vita
exit 0
Ny fitsipika dia mitovy ihany. Misy lisitra, fari-piainana, ary andian-teny azo atao eo anelanelan'ny zavatra vita sy vita . Ny lisitra toy izao dia toy izao: {0..100..10}.
Ny isa voalohany dia 0 ary ny isa farany dia 100. Ny isa fahatelo (10) dia ny isan'ireo zavatra ao amin'ilay lisitra izay hialana.
Ity ohatra etsy ambony ity dia maneho ny vokatra manaraka:
- 0
- 10
- 20
- 30
- 40
- 50
- 60
- 70
- 80
- 90
- 100
Fomba fitadiavam-bola bebe kokoa
Ny fomba BASH ho an'ny loop dia somary hafahafa raha ampitahaina amin'ny tenim-paritra hafa.
Azonao atao ihany anefa ny manoratra ho an'ny loop amin'ny fomba mitovy amin'ny fiteny C programming, toy izao:
#! / Bin / bash
ho an'ny ((laharana = 1, laharana <100, laharana ++))
{
Raha (($ number% 5 == 0))
avy eo
Echo "$ number dia azo zaraina amin'ny 5"
ny fi
}
exit 0
Ny loop dia manomboka amin'ny fametrahana ny isa miovaova ho 1 (isa = 1 ). Ny loop dia mitazona hatrany, fa ny lanjan'ny isa dia latsaky ny 100 ( laharana <100 ). Ny lanjan'ny fanovan'ny isa amin'ny fampidirana 1 ho azy aorian'ny isteration tsirairay ( laharana ++ ).
Ny zava-drehetra eo anelanelan'ny kiran-tsoavaly dia tanterahina amin'ny alàlan'ny isa ny loop.
Ny sasantsasany eo anelanelan'ny fiarovan-drakitra dia manamarina ny hasin'ny tarehimarika iray , mizara izany amin'ny 5, ary mampitaha ny sisa amin'ny 0. Raha ny sisa dia 0 kosa dia azo zaraina amin'ny isa 5 ny isa ary avy eo hita eo amin'ny efijery.
Ohatra:
- 5 dia azo zaraina amin'ny 5
- 10 dia azo zaraina amin'ny 5
- 15 dia azo zaraina amin'ny 5
Raha te-hanova ny dingana ny dingana ny iteration dia azonao atao ny manitsy ny laharana ++ ho an'ny laharana = number + 2 , laharana = tarehimarika + 5 , na isa = tarehimarika + 10 sns.
Mety ho kely kokoa ny isa = = 2 na isa = = 5 .
Ohatra tena tsara
Fa ny loopia dia afaka manao mihoatra noho ny lisitry ny laharana. Azonao ampiasaina marina ny famoahana baiko hafa amin'ny lisitra.
Ity ohatra manaraka ity dia mampiseho ny fomba fampivoarana rakitra audio avy amin'ny MP3 mankany WAV :
#! / Bin / bash
Ny lisitra amin'ity ohatra ity dia ny rakitra rehetra miaraka amin'ny extension MDP3 ao amin'ny lahatahiry amin'izao fotoana ary ny tahadika dia rakitra iray .
Ny baikon'ny mpg dia manova ny rakitra MP3 ao amin'ny WAV. Na izany aza, mila mametraka izany ianao amin'ny fampiasanao ny mpitantana ny fonosana voalohany.