Nzira Yokunyora A BASH "ye" Loop

Nzira yekushandisa BASH "ye" loop mu shell scripts

BASH (iyo inomiririra Bourne Again Shell) iri scripting language inoshandiswa nemhando dzakawanda dze Linux uye UNIX-based operating systems.

Iwe unogona kumhanya mirairo BASH mukati mewindo rekupedzisira imwe pashure peimwe kana iwe unogona kuwedzera mirairo kune text text kuti ubudise script shell.

Chinhu chikuru pamusoro pekunyorera shell scripts ndechokuti iwe unogona kuvamhanya zvakare. Semuenzaniso fungidzira iwe unoda kuwedzera musikana kune imwe sarudzo, sarudza mavhoti uye uchengetedze nzvimbo yavo yekutanga. Iwe unogona kunyora pasi mirairo papepa uye unovashandisa sezvaunowedzera vashandisi vatsva kana unogona kunyora script imwe chete uye kungopfuurira maparamendi mune iyo script.

Shanduro dzemitauro yakadai seBASH dzine mapurogiramu akadaro anovaka sezvimwe mitauro. Semuenzaniso, unogona kushandisa zvigadzirisiti zvekupinza kuti upiwe kubva pabhokisi uye uzvichengete sezvimwe zvinoshandiswa. Iwe unogona kuwana script kuti iite chimwe chiito chinoenderana nekukosha kwemasimiro ekuisa .

Chikamu chinokosha chepurogiramu chero ipi zvayo uye mutauro wekunyora ndeyekwanisi yekushandisa chikamu chakafanana chekodha zvakare.

Kune nzira dzakawanda dzekudzokorora kodeji (inozivikanwawo sezvipfimbo). Muchirongwa ichi, iwe ucharatidza kuti unyore sei "for" loop.

A for loop inodzokorora imwe chikamu chekodhi nekupfuura. Zvinobatsira kuitira kuti mitezo yemirairo inogona kuramba ichimhanya kusvikira chimwe chiitiko chasangana, mushure mezvo vacharega.

Muchirongwa ichi, iwe ucharatidzirwa nzira shanu dzekushandisa shanduro mukati meBASH script.

Usati Watanga Kutanga

Iwe usati watanga nemuenzaniso wezvinyorwa, iwe unoda kuzarura firati inotenderera uye uchitevera matanho aya:

  1. Isa mkdir zvinyorwa ( dzidza zvakawanda pamusoro pekdir pano )
  2. Pinda cd scripts (izvi zvinoshandiswa pakuronga kune zvinyorwa )
  3. Pinda nano examplen.sh (apo n ndiyo muenzaniso wauri kushanda)
  4. Pinda script
  5. Dhinda CTRL + O kuti uchengetedze uye CTRL + X kuti ibve
  6. Mhanya bash examplen.sh (zvakare, pamwe n kuva muenzaniso unoshanda nawo)

Nzira Yokutamba Nayo Nokunyora

#! / bin / bash
nenhamba muna 1 2 3 4 5
ita
echo $ nhamba
zvakaitwa
bvisa 0

BASH nzira yekushandisa "ye" zvitsuwa zvakasiyana nenzira iyo dzimwe dzakawanda purogiramu uye scripting mitauro zvinoshandisa "zve" mashizha. Ngatitorei script pasi ...

Mune BASH "ye" kuvhara zvose, zvinyorwa pakati pezvaita uye zvakaitwa zvinowanikwa kamwe chete pane chimwe chinhu chiri mumutauro.

Muchirevo chiri pamusoro apa, urongwa ndeye zvinhu zvinouya mushure mezwi mukati (kureva 1 2 3 4 5).

Nenguva imwechete iyo yakagadziriswa, huwandu hunotevera huri muhuwandu hunoiswa muzvitsva zvinotsanangurwa mushure mezwi rokuti "for" . Mumutsara wepamusoro, shanduko inonzi nhamba .

Tsanangudzo yezwi iri inoshandiswa kuratidza ruzivo kurwindo.

Nokudaro, muenzaniso uyu unotora nhamba 1 kusvika ku5 uye unovabudisa mumwe nemumwe kusvika pahwindo:

Nzira Yokurapa Pakati Pepakutanga uye Pasi Pano

Dambudziko nemuenzaniso wepamusoro nderokuti kana iwe uchida kugadzirisa urongwa hukuru (taura 1 kusvika 500), zvingatora makore kufanidza nhamba dzose panzvimbo yekutanga.

Izvi zvinotitungamirira kumuenzaniso wechipiri unoratidza kuti tingarondedzera sei kutanga nekuguma:

#! / bin / bash
nenhamba mu {1..10}
ita
echo "$ nhamba"
zvakaitwa
bvisa 0

Mitemo yacho yakangofanana. Izvo zvinodiwa mushure mezwi rokuti " mu" rinoita runyora kuti rutevedze uye nhengo imwe neimwe iri muzvinyorwa inowanikwa munharaunda (kureva nhamba), uye nguva imwe neimwe yekutengesa ichiita, zvinyorwa pakati pezvaita uye zvakaitwa zvinoitwa.

Mhedzisiro huru ndiyo nzira iyo yakarongwa. Mabheji akavharidzirwa {} anonyanya kuratidza mararamiro, uye rutivi, munyaya iyi, iri 1 kusvika ku 10 (mabhii maviri anosiyanisa kutanga nekuguma kwehutano).

Uyu muenzaniso, naizvozvo, unomhanya nhamba imwe neimwe iri pakati pe1 ne10 uye inobudisa nhamba kusvika pachikero sezvinotevera:

Izvozvi zvinyorwa zvingadai zvanyorwa seizvi, pamwe neshoko rimwechete rakafanana nemuenzaniso wokutanga:

nenhamba mu 1 2 3 4 5 6 7 8 9 10

Nzira Yekutora Numeri muRange

Muenzaniso wekare wakaratidza kuti ungatenderera sei pakati pekutanga uye pakupedzisira, saka zvino tava kutarisa nzira yekudarika nhamba mukati.

Fungidzira iwe unoda kuvhara pakati pe 0 ne100 asi unongoratidzira chegumi chegumi. Script inotevera inoratidza kuti ungaita sei izvozvi:

#! / bin / bash
nenhamba mu {0..100..10}
ita
echo "$ nhamba"
zvakaitwa
bvisa 0

Mitemo yacho yakangofanana. Pane runyora, chinotenderera, uye sarudzo yezvinyorwa zvinofanira kuitwa pakati pekuita nekuita. Nyora iyi nguva inoita seyiyi: {0..100..10}.

Nhamba yekutanga ndeye 0 uye nhamba yekupedzisira ndiyo 100. Nhamba yechitatu (10) ndiyo nhamba yezvinhu zviri muzorongwa iyo ichapamba.

Saka muenzaniso wepamusoro, naizvozvo, unoratidza zvinotevera:

A Zvimwe Mhemberero Kutarisa Mhemberero

Iyo BASH nzira yokunyora kwezvipfigiso zvisinganzwisisiki kana ichienzaniswa nedzimwe mitauro yekuita.

Iwe unogona, zvisinei, nyora chinyorwa chechidimbu nenzira yakafanana neC C programming mutauro, seizvi:

#! / bin / bash
nokuti ((nhamba = 1; nhamba <100; nhamba ++))
{
kana (($ $ nhamba% 5 == 0))
ipapo
echo "$ nhamba iri kuoneka ne 5"
fi
}
bvisa 0

Iyo tsvina inotanga nekuisa nhamba yakasiyana kusvika 1 (nhamba = 1 ). Ikosi yacho icharamba ichidzoka apo kukosha kwenhamba iri pasi pe100 ( nhamba <100 ). Kukosha kwenhamba kunoshandiswa nekuwedzera 1 kwairi mushure mekuita imwe neimwe ( nhamba ++ ).

Zvose zviri pakati pemakumbo emakumbo zvinoshandiswa kuburikidza nekushandiswa kwega kwega.

Iyo iri pakati pe-braces inotarisa kukosha kwenhamba , inoparadzanisa ne5, uye inofanidza zvakasara kusvika ku 0. Kana zvakasara zviri 0 ipapo nhamba yacho inoparadzaniswa ne5 uye inobva yaiswa pahwindo.

Semuyenzaniso:

Kana iwe uchida kuchinja ushu hwesitevedzeri hwekuita iwe unogona kuchinja nhamba + nhamba + kuti ive nhamba = nhamba + 2 , nhamba = nhamba + 5 , kana nhamba = nhamba + 10 nezvimwe.

Izvi zvinogona kuwedzerwa kuderedzwa kuverenga + = 2 kana nhamba + = 5 .

Muenzaniso Unobatsira

Nokuti zvishongo zvinogona kuita zvinopfuura kungotarisa mazita emunhamba. Iwe unogona chaizvo kushandisa zvinyorwa zvemimwe mirairo seyo urongwa.

Muenzaniso unotevera unoratidza nzira yekushandura mafaira ehurukuro kubva ku MP3 kusvika kuWV :

#! / bin / bash

Izvo zvakanyorwa mumuenzaniso uyu ndeye faira yose ine .MP3 kuwedzera mune firimu iripo uye kushandiswa iri faira .

Mutemo mpg unoshandura MP3 file muWV. Zvisinei, iwe unofanirwa kuisa izvi uchishandisa yako muteja wemapuranga kutanga.