15 Bash For Loop Examples for Linux / Unix / OS X Shell Scripting
Talaan ng mga Nilalaman:
- Ang Standard Bash Para sa Loop
- I-Loop ang mga string
- Loop sa isang saklaw ng numero
- Mag-load ng mga elemento ng array
- Ang C-style Bash para sa loop
- Break at Magpatuloy na Mga Pahayag
- Pahayag ng Break
- Ipagpatuloy ang Pahayag
- Mga Bash Para sa Mga Loop Halimbawa
- Ang pagpapalit ng pangalan ng mga file na may mga puwang sa filename
- Pagbabago ng extension ng file
- Konklusyon
Ang mga loop ay isa sa mga pangunahing konsepto ng mga wika sa programming. Madaling magamit ang mga loop kung nais mong magpatakbo ng isang serye ng mga utos nang paulit-ulit hanggang sa maabot ang isang tiyak na kondisyon.
Sa mga wika ng script tulad ng Bash, ang mga loop ay kapaki-pakinabang para sa pag-automate ng paulit-ulit na mga gawain.
Mayroong tatlong pangunahing mga konstruksyon ng loop sa script ng Bash, para sa loop, habang loop, at hanggang sa loop.
Sa tutorial na ito, tatakpan namin ang mga pangunahing kaalaman ng mga loop sa Bash. Ipapakita rin namin sa iyo kung paano gamitin ang pahinga at magpatuloy ng mga pahayag upang baguhin ang daloy ng isang loop.
Ang Standard Bash Para sa Loop
Ang para sa mga iterates ng loop sa isang listahan ng mga item at gumaganap ng ibinigay na hanay ng mga utos.
Ang Bash para sa loop ay tumatagal ng sumusunod na form:
for item in do done
Ang listahan ay maaaring isang serye ng mga string na pinaghiwalay ng mga puwang, isang hanay ng mga numero, output ng isang utos, isang array, at iba pa.
I-Loop ang mga string
Sa halimbawa sa ibaba ng loop ay umulit sa bawat item sa listahan ng mga string, at ang variable na
element
ay itatakda sa kasalukuyang item.
for element in Hydrogen Helium Lithium Beryllium do echo "Element: $element" done
Ang loop ay gagawa ng sumusunod na output:
Element: Hydrogen Element: Helium Element: Lithium Element: Beryllium
Loop sa isang saklaw ng numero
Maaari mong gamitin ang pagkakasunud-sunod na expression upang tukuyin ang isang hanay ng mga numero o character sa pamamagitan ng pagtukoy ng isang panimula at pagtatapos ng saklaw. Ang pagkakasunud-sunod ng expression ay tumatagal ng sumusunod na form:
{START..END}
Sa halimbawa sa ibaba ng loop ay umulit sa lahat ng mga numero mula 0 hanggang 3.
for i in {0..3} do echo "Number: $i" done
Number: 0 Number: 1 Number: 2 Number: 3
Simula sa Bash 4, posible na tukuyin ang isang pagtaas kapag gumagamit ng mga saklaw. Ang expression ay tumatagal ng sumusunod na form:
{START..END..INCREMENT}
for i in {0..20..5} do echo "Number: $i" done
Number: 0 Number: 5 Number: 10 Number: 15 Number: 20
Mag-load ng mga elemento ng array
Maaari mo ring gamitin ang para sa loop upang umulit sa isang hanay ng mga elemento:
Sa halimbawa sa ibaba, tinukoy namin ang isang hanay ng mga
BOOKS
at iterating sa bawat elemento ng array.
BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby') for book in "${BOOKS}"; do echo "Book: $book" done
Book: In Search of Lost Time Book: Don Quixote Book: Ulysses Book: The Great Gatsby
Ang C-style Bash para sa loop
Ang syntax ng C-style para sa loop ay kumukuha ng sumusunod na form:
for ((INITIALIZATION; TEST; STEP)) do done
Ang bahagi ng
INITIALIZATION
ay isinasagawa lamang isang beses kapag nagsimula ang loop. Pagkatapos, nasuri ang bahaging
TEST
. Kung ito ay mali ang para sa loop ay natatapos. Kung totoo ang
TEST
, ang mga utos sa loob ng katawan ng para sa loop ay naisakatuparan at ang bahagi ng
STEP
ay na-update.
Sa sumusunod na code, ang mga bituin ng loop sa pamamagitan ng pag-uumpisa sa
i = 0
, pagkatapos bago suriin ang bawat pag-ulit kung
i ≤ 10
.
i ≤ 10
. Kung totoo ay nag-print ito ng kasalukuyang halaga ng
i
at
i
ng 1 (
i++
) kung hindi man magtatapos ang loop.
for ((i = 0; i <= 1000; i++)); do echo "Counter: $i" done
Ang loop ay magpapagaan ng 1001 beses at makagawa ng mga sumusunod na output:
Counter: 0 Counter: 1 Counter: 2… Counter: 998 Counter: 999 Counter: 1000
Break at Magpatuloy na Mga Pahayag
Ang break at magpatuloy na mga pahayag ay maaaring magamit upang makontrol ang para sa pagpapatupad ng loop.
Pahayag ng Break
Tinatapos ng pahayag ng break ang kasalukuyang loop at ipinapasa ang control ng programa sa pahayag na sumusunod sa natapos na pahayag. Karaniwang ginagamit ito upang wakasan ang loop kapag natagpuan ang isang tiyak na kondisyon.
Sa sumusunod na halimbawa, ginagamit namin ang kung ang pahayag upang wakasan ang pagpapatupad ng loop sa sandaling ang kasalukuyang iterated item ay katumbas ng 'Lithium'.
for element in Hydrogen Helium Lithium Beryllium; do if]; then break fi echo "Element: $element" done echo 'All Done!'
Element: Hydrogen Element: Helium All Done!
Ipagpatuloy ang Pahayag
Ang patuloy na pahayag ay lumabas sa kasalukuyang pag-iilaw ng isang loop at ipinapasa ang kontrol sa programa sa susunod na pag-iilaw ng loop.
Sa mga sumusunod na halimbawa, kami ay nangangati sa pamamagitan ng isang hanay ng mga numero at kapag ang kasalukuyang iterated na item ay katumbas ng '2' ang patuloy na pahayag ay magiging sanhi ng pagpapatupad na bumalik sa simula ng loop at magpatuloy sa susunod na pag-ulit.
for i in {1..5}; do if]; then continue fi echo "Number: $i" done
Number: 1 Number: 3 Number: 4 Number: 5
Mga Bash Para sa Mga Loop Halimbawa
Ang pagpapalit ng pangalan ng mga file na may mga puwang sa filename
Ang sumusunod na halimbawa ay nagpapakita kung paano gamitin ang Bash para sa loop upang palitan ang pangalan ng lahat ng mga file sa kasalukuyang direktoryo na may isang puwang sa mga pangalan nito sa pamamagitan ng pagpapalit ng puwang upang mabigyan ng kahulugan.
for file in *\ *; do mv "$file" "${file// /_}" done
Ihiwalay natin ang linya ng code ayon sa linya:
- Ang unang linya ay lumilikha ng isang para sa loop at iterates sa pamamagitan ng isang listahan ng lahat ng mga file na may isang puwang sa pangalan nito. Ang expression
*\ *lumilikha ng listahan.Ang pangalawang linya ay nalalapat sa bawat item ng listahan at inililipat ang file sa isang bago na pinapalitan ang puwang na may isang salungguhit (_). Ang bahaging${file// /_}ay gumagamit ng pagpapalawak ng parameter ng shell upang mapalitan ang isang pattern sa loob ng isang parameter na may isang string.donenagpapahiwatig ng pagtatapos ng segment ng loop.
Pagbabago ng extension ng file
Ang sumusunod na halimbawa ay nagpapakita kung paano gamitin ang Bash para sa loop upang palitan ang pangalan ng lahat ng mga file na nagtatapos sa.jpeg sa kasalukuyang direktoryo sa pamamagitan ng pagpapalit ng file ng extension mula sa.jpeg sa.jpg.
for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg" done
Suriin natin ang linya ng code ayon sa linya:
- Ang unang linya ay lumilikha ng isang para sa loop at iterates sa pamamagitan ng isang listahan ng lahat ng mga file na nagtatapos sa '.jpeg'.Ang pangalawang linya ay nalalapat sa bawat item ng listahan at gumagalaw ang file sa isang bago na pinapalitan ang'.jpeg 'na may'.jpg '.
${file%.jpeg}upang alisin ang bahagi ng '.jpeg' mula sa filename gamit ang pagpapalawak ng shell parameter nadonenagpapahiwatig ng pagtatapos ng segment ng loop.
Konklusyon
Sa ngayon dapat kang magkaroon ng isang mahusay na pag-unawa sa kung paano gamitin ang bash para sa loop upang umulit sa pamamagitan ng mga listahan.
terminal ng bash loopAno ang Kahulugan ng Bagong Loop ng Copyright sa DMCA
Bilang karagdagan sa legalisasyon ng jailbreaking na mga mobile phone, nagbago ang DMCA ng mga panuntunan tungkol sa mga laro ng video, e- libro, DVD at ilang computer.
Bash hanggang sa loop
Sa mga wika ng script tulad ng Bash, ang mga loop ay kapaki-pakinabang para sa pag-automate ng paulit-ulit na mga gawain. Ipinapaliwanag ng tutorial na ito ang mga pangunahing kaalaman ng hanggang sa loop sa Bash. Ang hanggang sa loop ay ginagamit upang maisagawa ang isang naibigay na hanay ng mga utos hangga't ang ibinigay na kondisyon ay sinusuri ang hindi totoo.
Bash habang loop
Ang mga loop ay isa sa mga pangunahing konsepto ng mga wika sa programming. Madaling magamit ang mga loop, kung nais mong magpatakbo ng mga serye ng mga utos nang paulit-ulit. Ipinapaliwanag ng tutorial na ito ang mga pangunahing kaalaman habang habang ang mga loop sa Bash pati na rin ang break at magpatuloy ng mga pahayag upang baguhin ang daloy ng isang loop.







