Kumaha Ka Tulis Hiji BASH "kanggo" Citakan: Loop

Kumaha carana nganggo BASH "kanggo" loop dina Aksara cangkang

BASH (anu nangtung pikeun alatan deui Shell) mangrupakeun basa scripting garapan ku paling Linux Ubuntu jeung sistem operasi basis UNIX.

Anjeun tiasa ngajalankeun Paréntah BASH dina jandela terminal hiji sanggeus séjén atawa Anjeun bisa nambahkeun Paréntah ka file téks ngahasilkeun Aksara cangkang.

Hal hébat ngeunaan nulis Aksara cangkang nyaeta nu bisa ngajalankeun éta deui sarta deui. Contona ngabayangkeun nu peryogi pikeun nambahkeun hiji pamaké pikeun sistem anu, pakakas idin maranéhanana sarta ngatur lingkungan awal maranéhanana. Anjeun tiasa boh nulis turun Paréntah dina salembar kertas jeung ngajalankeun éta anjeun tambahkeun pamaké anyar atawa anjeun bisa nulis Aksara tunggal jeung ngan lulus parameter kana Aksara éta.

basa Scripting kayaning BASH gaduh constructs programming sarupa saperti basa séjén. Contona, anjeun bisa make parameter impor keur meunang asupan ti keyboard teh tur nyimpen éta stasiun variabel. Anjeun teras bisa meunang naskah anu ngalakukeun aksi tangtu dumasar kana nilai parameter input .

Hiji bagian konci sagala programming na scripting basa nyaéta kamampuhan pikeun ngajalankeun sapotong sami kode deui jeung deui.

Aya sababaraha cara pikeun ngulang kode (ogé katelah puteran). Dina Buku ieu, anjeun bakal ditingalikeun kumaha nulis "kanggo" loop.

Hiji keur loop repeats hiji bagian nu tangtu kode nu leuwih jeung leuwih. Aranjeunna geus mangpaat ambéh runtuyan Paréntah tiasa tetep jalan dugi a kaayaan sabagean geus patepung, nu satutasna maranéhna gé eureun.

Dina Buku ieu, anjeun bakal ditingalikeun lima cara ngagunakeun pikeun loop dina hiji Aksara BASH.

Sateuacan Ngalalanyahan

Sateuacan Anjeun ngamimitian kalawan pikeun conto loop, anjeun kudu muka jandela terminal sarta nuturkeun léngkah ieu:

  1. Lebetkeun Aksara mkdir ( leuwih jéntré ngeunaan mkdir dieu )
  2. Lebetkeun cd Aksara (ieu robah diréktori kana Aksara)
  3. Lebetkeun nano examplen.sh (dimana n ngarupakeun conto nu nuju dipake dina)
  4. Lebetkeun naskah
  5. Pencét Ctrl + O nyimpen sarta Ctrl + X kaluar
  6. Ngajalankeun bash examplen.sh (deui, kalayan n keur conto nu nuju gawe bareng)

Kumaha Citakan: Loop Ngaliwatan Daptar a

#! / Bin / bash
pikeun angka dina 1 2 3 4 5
ngalakukeun
$ Angka bahana
Puguh
kaluar 0

Cara BASH tina ngagunakeun "kanggo" puteran anu rada béda jeung cara basa programming na scripting paling séjén nanganan "kanggo" puteran. Hayu urang megatkeun naskah handap ...

Dina BASH "kanggo" loop sadayana, anu pernyataan antara do na Puguh anu dipigawé sakali pikeun unggal item dina daptar.

Dina conto di luhur, daftar téh sagalana nu asalna sanggeus kecap dina (ie 1 2 3 4 5).

Unggal waktos di iterates loop, nilai hareup dina daptar nu diselapkeun kana variabel dieusian sanggeus kecap "keur". Dina loop luhur, variabel disebutna angka.

The bahana pernyataan ieu dipaké pikeun émbaran ditampilkeun ka layar.

Ku alatan éta, conto ieu nyokot nomer 1 nepi 5 sarta outputs aranjeunna hiji-hiji ka layar:

Kumaha Citakan: Loop Antara hiji Mimitian na Tungtung Point

The gangguan jeung conto di luhur éta lamun hayang ngolah daptar badag (sebutkeun 1 ka 500), éta bakal nyandak umur pikeun ngetik sakabéh nomer di tempat munggaran.

Ieu brings kami ka conto kadua nu nembongkeun cara nangtukeun mimiti na tungtung titik:

#! / Bin / bash
pikeun angka di {1..10}
ngalakukeun
bahana "$ angka"
Puguh
kaluar 0

Aturan anu dasarna sami. Nilai sanggeus kecap "di" sangkan nepi daftar ka iterate liwat sarta unggal nilai dina daptar ieu disimpen dina variabel (ie angka), sarta tiap time iterates loop, anu pernyataan antara do na rengse anu dipigawé.

Beda utama nyaéta cara daftar kabentuk. Kurung Curly {} dasarna ngalambangkeun rentang, sarta rentang, dina hal ieu, aya 1 nepi ka 10 (dua titik-titik misahkeun mimiti na tungtung rentang hiji).

conto ieu, ku kituna, ngalir ngaliwatan tiap angka antara 1 jeung 10 na outputs Jumlah ka layar saperti kieu:

The loop sarua bisa geus ditulis kawas ieu, kalayan rumpaka idéntik jeung conto munggaran:

pikeun angka dina 1 2 3 4 5 6 7 8 9 10

Kumaha Skip Nomer di Range a

Conto saméméhna némbongkeun kumaha loop antara mimiti na tungtung titik, jadi ayeuna urang gé kasampak di kumaha skip angka dina rentang.

Ngabayangkeun rék loop antara 0 jeung 100 tapi ngan némbongkeun unggal angka kasapuluh. Skrip di handap nembongkeun kumaha carana ngalakukeun ngan éta:

#! / Bin / bash
pikeun angka di {0..100..10}
ngalakukeun
bahana "$ angka"
Puguh
kaluar 0

Aturan anu dasarna sami. Aya daptar, variabel, sarta susunan pernyataan bisa dipigawé antara do na rengse. Daptar waktos Sigana mah kieu: {0..100..10}.

Jumlah kahiji nyaeta 0 jeung angka tungtung téh 100. Jumlah katilu (10) nyaeta jumlah aitem dina daptar yén nagara éta bakal skip.

Conto di luhur, ku kituna, mintonkeun kaluaran handap:

A More Tradisional pilari Citakan: Loop

Cara BASH nulis pikeun puteran anu rada aneh mun dibandingkeun basa programming lianna.

Anjeun tiasa, kumaha oge, nulis pikeun loop dina gaya nu sarupa jeung basa pamrograman C, saperti kieu:

#! / Bin / bash
pikeun ((jumlah = 1; angka <100; angka ++))
{
lamun (($ angka% 5 == 0))
saterusna
bahana "$ angka nyaéta bisa dibeulah deui ku 5"
fi
}
kaluar 0

Loop dimimitian ku netepkeun jumlah variabel kana 1 (nomer = 1). Loop bakal tetep iterating whilst nilai angka hiji kirang ti 100 (nomer <100). Nilai angka robah ku nambahkeun 1 ka dinya sanggeus unggal Iteration (jumlah ++).

Sagalana antara braces Curly anu dipigawé ngaliwatan unggal Iteration tina loop anu.

Bit antara braces cek nilai angka hiji, meulah eta ku 5, tur compares sésana nepi 0. Upama sésana nyaéta 0 lajeng angka kasebut bisa dibeulah deui ku 5 sarta lajeng ditampilkeun dina layar.

Salaku conto:

Mun rék ngarobah ukuran hambalan tina Iteration bisa ngajadikeun amandemen jumlahna ++ bagian janten nomer = jumlah + 2, angka = jumlah + 5, atawa jumlah = jumlah + 10 jsb

Ieu bisa salajengna diréduksi jadi angka + = 2 atawa angka + = 5.

Hiji Conto Praktis

Pikeun puteran tiasa ngalakukeun leuwih ti béréndélan iterate wilangan. Anjeun sabenerna bisa make kaluaran Paréntah lianna salaku daptar.

Conto di handap ieu nunjukeun kumaha carana ngarobah payil audio tina MP3 jeung WAV :

#! / Bin / bash

Daptar di conto ieu unggal file jeung extension .MP3 dina folder arus jeung variabel nyaeta file a.

Paréntah mpg ngarobah file MP3 kana WAV. Najan kitu, anjeun meureun kudu masang ieu ngagunakeun manajer pakét Anjeun munggaran.