Momwe Mungalembe A BASH "kwa" Mzere

Momwe mungagwiritsire ntchito BASH "kwa" kutchinga mu shell scripts

BASH (yomwe imayimira Bourne Again Shell) ndi chinenero chogwiritsiridwa ntchito ndi ma Linux ndi ma UNIX omwe amagwiritsidwa ntchito.

Mukhoza kuyendetsa BASH malamulo mkati mwawindo lawindo pambuyo pake kapena mutha kuwonjezera malamulo ku fayilo yolemba kuti mupange script.

Chinthu chofunika kwambiri polemba zilembo ndizimene mungathe kuzithamangitsa mobwerezabwereza. Mwachitsanzo, ganizirani kuti mukufunikira kuwonjezera wosuta ku dongosolo, kukhazikitsa zilolezo zawo ndi kusamalira malo awo oyambira. Mukhoza kulembera malamulo pa pepala ndi kuwayendetsa pamene mukuwonjezera ogwiritsa ntchito atsopano kapena mungathe kulembetsa script imodzi ndikudutsa magawo omwewo.

Zinenero zolemba monga BASH zili ndi mapulogalamu ofanana omwe amamangidwa monga zinenero zina. Mwachitsanzo, mungagwiritse ntchito magawo ang'onoang'ono olowera kunja kuti mupeze ma pulogalamuyi ndi kuwasunga monga mitundu. Mutha kutenga script kuti achitepo kanthu kuchokera ku mtengo wa magawo olowera .

Gawo lofunika la mapulogalamu alionse ndi chinenero choyambirira ndi kuthekera koyendetsa kachidutswa kamodzi kachiwiri.

Pali njira zambiri zobwereza kachidindo (omwe amadziwikanso ngati loops). Mu bukhuli, mudzasonyezedwa momwe mungalembe "kwa" kutsekemera.

A loop kubwereza gawo lina la code mobwerezabwereza. Iwo ali othandiza kwambiri kuti malamulo angapo apitirize kuthamanga mpaka vuto lina litakwaniritsidwa, kenako amasiya.

Mu bukhu ili, mudzasonyezedwa njira zisanu zomwe mungagwiritsire ntchito kutchinga mu BASH script.

Asanayambe

Musanayambe ndi zitsanzo zazingwe, muyenera kutsegula zenera zotsatila ndikutsata mapazi awa:

  1. Lowani zolemba za mkdir ( phunzirani zambiri za mkdir apa )
  2. Lowetsani cd scripts (izi zimasintha zolemba ku malemba )
  3. Lowani nano examplen.sh (pamene n ndi chitsanzo chimene mukugwira ntchito)
  4. Lowani script
  5. Dinani CTRL + O kuti muzisunga ndi CTRL + X kuti mutuluke
  6. Thamani bash examplen.sh (kachiwiri, pokhala nchitsanzo chomwe mukugwira nawo ntchito)

Mmene Mungagwiritsire Ntchito Mndandanda

#! / bin / bash
kwa chiwerengero mu 1 2 3 4 5
chitani
dinani $ nambala
zatha
tulukani 0

BASH njira yogwiritsira ntchito "kwa" malupu ndi zosiyana kwambiri ndi momwe mapulogalamu ena ambiri ndi zilembo zimagwiritsira ntchito "kwa" malupu. Tiyeni tisiye script pansi ...

Mu BASH "kwa" kutsegula zonse, mawu pakati pa kuchita ndi kuchitidwa amachitizidwa kamodzi pa chinthu chilichonse m'ndandanda.

Mu chitsanzo cha pamwambapa, mndandanda ndizo zonse zomwe zimadza pambuyo pa mawu (mwachitsanzo 1 2 3 4 5).

Nthawi iliyonse phokoso likulumikiza, lotsatira likuyamika pa mndandanda imayikidwa mu kusintha kotchulidwa pambuyo pa mawu oti "for" . Pamwamba pamwambapa, kusintha kumatchedwa nambala .

Mawu omveka akugwiritsidwa ntchito powonetsera mauthenga pawindo.

Choncho, chitsanzo ichi chikutenga nambala 1 mpaka 5 ndipo chimayambitsa chimodzi ndi chimodzi pazenera:

Mmene Mungayambitsire Pakati pa Choyamba ndi Mapeto

Vuto ndi chitsanzo chapamwamba ndi chakuti ngati mukufuna kukonza mndandanda waukulu (nenani 1 mpaka 500), zingatenge zaka kuti muyese manambala onse pamalo oyamba.

Izi zimatifikitsa ku chitsanzo chachiwiri chomwe chimasonyeza momwe tinganenere chiyambi ndi mapeto:

#! / bin / bash
kwa nambala mu {1..10}
chitani
lembani "$ nambala"
zatha
tulukani 0

Malamulo ndi ofanana. Makhalidwe pambuyo pa mawu akuti " mkati" amapanga mndandanda kuti ayambirane ndipo phindu lirilonse mu mndandanda waikidwa pamasinthidwe (mwachitsanzo, nambala), ndipo nthawi iliyonse phokoso likulumikizana, mawu pakati pa kuchita ndi ochitidwa akuchitidwa.

Kusiyana kwakukulu ndi momwe mndandanda umapangidwira. Mabotolo ophimbitsa {} amatanthauza mautchire, ndi osiyanasiyana, pakali pano, ndi 1 mpaka 10 (madontho awiriwo amasiyanitsa chiyambi ndi mapeto a osiyanasiyana).

Chitsanzo ichi, chimayenda kudzera mu nambala iliyonse pakati pa 1 ndi 10 ndipo chimachokera ku chiwerengerochi pazenera.

Mzere umodzi womwewo ukhoza kulembedwa monga chonchi, ndi mawu ofanana ofanana ndi chitsanzo choyamba:

kwa chiwerengero mu 1 2 3 4 5 6 7 8 9 10

Kodi Mungapewe Bwanji Numeri mu Range

Chitsanzo choyambirira chinasonyeza momwe tingayambitsire pakati pa chiyambi ndi mapeto, kotero tsopano tiwone momwe tingagwiritsire ntchito manambala m'mabuku.

Tangoganizirani kuti mukufuna kutengana pakati pa 0 ndi 100 koma mukuwonetsa nambala iliyonse ya khumi. Script yotsatira ikuwonetsa momwe mungachitire izi:

#! / bin / bash
ndi chiwerengero mu {0..100..10}
chitani
lembani "$ nambala"
zatha
tulukani 0

Malamulo ndi ofanana. Pali mndandanda, zosinthika, ndi ndondomeko ya mawu omwe ayenera kuchitidwa pakati pa kuchita ndi kuchita . Mndandanda wa nthawi ino ukuwoneka ngati: {0..100..10}.

Nambala yoyamba ndi 0 ndipo nambala yomaliza ndi 100. Nambala yachitatu (10) ndi chiwerengero cha zinthu zomwe zili m'ndandanda yomwe idzadumpha.

Chitsanzo cha pamwambachi, chikusonyeza zotsatirazi:

Zowonjezera Zambiri Zowona Chida

BASH njira yolembera zosavuta ndi zachilendo poyerekeza ndi zinenero zina.

Mukhoza, komabe, lembani mzere wofanana ndi chiyankhulo chofanana ndi chinenero cha C, monga chonchi:

#! / bin / bash
kwa ((chiwerengero = 1; chiwerengero <100; chiwerengero ++))
{
ngati (($ nambala% 5 == 0))
ndiye
Momwemo "$ nambala ikuwonetsedwa ndi 5"
fi
}}
tulukani 0

Chikoka chimayamba pakuyika nambala yosintha kuti 1 (nambala = 1 ). Chikokacho chidzapitirizabe kuyenda pamene mtengo wa nambala uli pansi pa 100 ( chiwerengero <100 ). Mtengo wa nambala umasintha powonjezerapo 1 pokhapokha atayambitsidwa ( nambala ++ ).

Chilichonse pakati pa mitsempha yowonongeka imagwiritsidwa ntchito pamtunda uliwonse.

Pakati pakati pa ma-braces amafufuza kufunika kwa nambala , amagawanika ndi 5, ndipo amayerekezera zotsalira 0. Ngati zotsalazo ndi 0 ndiye nambalayi imagawidwa ndi 5 ndipo imawonetsedwa pazenera.

Mwachitsanzo:

Ngati mukufuna kusintha kukula kwazitsulo zazomwe mungathe kusintha chiwerengero cha nambala ++ kuti chikhale nambala = nambala + 2 , nambala = nambala + 5 , kapena nambala = nambala + 10 ndi zina.

Izi zikhoza kuchepetsedwa kukhala nambala + = 2 kapena nambala + = 5 .

Chitsanzo Chothandiza

Zingwe zingathe kuchita zambiri kuposa kuchuluka kwa manambala. Mukhoza kugwiritsira ntchito zotsatira za malamulo ena monga mndandanda.

Chitsanzo chotsatira chikusonyeza momwe mungasinthire mafayilo omvera kuchokera ku MP3 kupita ku WAV :

#! / bin / bash

Mndandanda wa chitsanzo ichi ndi mafayilo aliwonse omwe ali ndi .MP3 kufalikira mu foda yamakono ndipo kusintha ndiko fayilo .

Mtsogoleri mpg amasintha fayilo ya MP3 mu WAV. Komabe, mwinamwake muyenera kuyika izi pogwiritsa ntchito bwana wanu phukusi.