Sidee loo adeegsadaa BASH "loogu talagalay" loojoogta qoraallada qolofka ah
BASH (oo u taagan Bourne Again Shell) waa luqad qoraal ah oo ay adeegsanayaan badi nidaamyada Linux iyo UNIX ku salaysan.
Waxaad ku maamuli kartaa amarrada BASH gudaha daaqada kumbuyuutarka ka dib midka kale ama waxaad ku dari kartaa amarrada faylka qoraalka si aad u soo saarto warqad shell.
Waxyaabaha muhiimka ah ee ku saabsan qoraallada qoraalka ah waa inaad mar kale kari kartid. Tusaale ahaan waxaad u maleyneysaa inaad u baahan tahay inaad ku darto qof isticmaala nidaam, u dejisid oggolaanshahooda iyo maamulida bii'adooda. Waxaad ku qori kartaa amarrada warqad ku qoran oo aad ku dhejin kartid markaad ku darto dadka cusub ama waxaad qori kartaa hal qoraal ah oo kaliya ku dhaafi kartaa xayeysiiska qoraalkaas.
Luqadaha luqadaha sida BASH waxay leeyihiin qaab isku mid ah oo barnaamijyo isku mid ah sida luqadaha kale. Tusaale ahaan, waxaad isticmaali kartaa xayeysiisyada soo dejinta si aad uga hesho talooyinka ka soo kore ee kumbuyuutarka oo u kaydi sida doorsoomayaal. Waxaad markaa ka heli kartaa qoraalka si aad u qabato talaabo gaar ah oo ku saleysan qiimaha xuduudaha .
Qayb muhiim ah ee barnaamijyada iyo qoraalka luqad kasta waa awooda in ay mar labaad codeeyaan mar labaad.
Waxaa jira dhowr siyaabood oo lagu celceliyo koodh (oo loo yaqaano looxyo). Tilmaamahan, waxaa lagu tusayaa sida loo qoro "for" loop.
A for loo soo celiyo qayb ka mid ah qayb ka mid ah code ka badan iyo ka badan. Waa faa'iido leh sidaa darteed amarro taxane ah ayaa sii socon kara ilaa xaalad gaar ah la daboolo, ka dib marka ay joojiyaan.
Tilmaamahan, waxaa lagu tusi doonaa shan siyaabood oo loo adeegsan karo qadka loo yaqaan "BASH".
Ka hor inta aan la bilaabin
Ka hor intaadan bilaabin tusaalooyinka wareegga, waxaad u baahan tahay inaad furto daaqada kumbuyuutarka oo raac talaabooyinkan:
- Geli qoraalka mkdir ( wax badan ka baro mkdir halkan )
- Ku qor qoraalada cdd (tani waxay bedeleysaa buugga qoraalka )
- Gali nano examplen.sh (meesha n waa tusaalaha aad ka shaqaynayso)
- Geli qoraalka
- Riix CTRL + O si aad u kaydisid iyo CTRL + X si aad uga baxdo
- Buuxi imtixaan baaris ah (mar kale, oo leh n tusaale ahaan aad la shaqeyneyso)
Sidee loo Laaban karaa liiska
#! / bin / bash
lambarka 1 2 3 4 5
samee
codsan lambarka $
la sameeyo
bixi 0
Habka BASH ee loo adeegsanayo "for" loops waa mid aad u kala duwan sida habka barnaamijyada kale iyo luuqadaha qoraalka ah ee "loox" ah. Aan jebin karno qoraalka hoos ...
BASH "dhamaan" loop loo yaqaan, bayaannada u dhexeeya waxa la sameeyo iyo waxa la sameeyaa hal mar wax kasta oo ku jira liiska.
Tusaalaha kor ku qoran, liistada waa wax kasta oo ku yimaada erayga ka dib (ie 1 2 3 4 5).
Mar kasta oo wareegga isbeddelaya, qiimaha soo socota ee liiska waxaa la geliyaa isbedelka ku qeexan erayga "for" . Qeybta kor ku xusan, variable waxaa loo yaqaan lambarka .
Qoraalka echo waxaa loo isticmaalaa in lagu muujiyo macluumaadka shaashadda.
Sidaa daraadeed, tusaalahan waxay qaadataa nambarrada 1 illaa 5 waxayna ka soo saartaa hal midka ilaa shaashadda:
- 1
- 2
- 3
- 4
- 5
Sidee Loogu Dhex Yeelo Bilowga iyo Dhamaadka Dhamaadka
Dhibaatada tusaalaha kor ku xusan waa in haddii aad rabto in aad sameysid liis weyn (oo sheeg 1 illaa 500), waxay qaadanaysaa da'da si aad uhesho dhammaan lambarrada meesha ugu horeysa.
Tani waxay ina keenaysaa tusaalihii labaad oo muujinaya sida loo sheegayo barta bilowga iyo dhammaadka:
#! / bin / bash
loogu talagalay lambarka (1..10}
samee
codsan "lambarka"
la sameeyo
bixi 0
Xeerarku waa isku mid. Qiimaha ka dib ereyga " ku jira" liiska si aad u soo jiidato oo qiimaha kasta ee liiska waxaa lagu meeleeyaa variable (ie, lambarka), iyo mar kasta oo wareegga uu ku dhawaaqo, weedhaha u dhexeeya waxqabadka iyo fulinta.
Farqiga ugu weyni waa habka liiska loo sameeyay. Qeybaha xariifka ah waxay si cad u muujinayaan kala duwanaansho, iyo kala duwanaanta, kiiskan, waa 1 illaa 10 (labada dhibcood waxay kala saaraan bilowga iyo dhammaadka xadka).
Tusaalahani, haddaba, wuxuu u dhexeeyaa nambar kasta inta u dhaxaysa 1 illaa 10 wuxuuna ka dhigayaa lambarka shaashadda sida soo socota:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Isla marxalad ayaa loo qori karaa sidan oo kale, iyada oo la adeegsanayo syntax oo la mid ah tusaalaha koowaad:
ee lambarka 1 2 3 4 5 6 7 8 9 10
Sida Loo Adeegsado Nambarrada Range
Tusaalihii hore ayaa tusay sida loo leexiyo inta u dhexaysa bilowga iyo dhammaadka dhamaadka, sidaas awgeed waxaan eegaynaa sida loo tirtiro tirooyinka tirada.
Bal qiyaas in aad rabto inaad wareegto inta u dhaxaysa 0 iyo 100 laakiin kaliya lambarada tobnaad. Qoraalka soo socda ayaa muujinaya sida loo sameeyo sidan:
#! / bin / bash
loogu talagalay lambarka [0..100.10.10}
samee
codsan "lambarka"
la sameeyo
bixi 0
Xeerarku waa isku mid. Waxaa jira liisto, isbeddel, iyo bayaanno kala duwan oo la samaynayo inta u dhaxaysa oo la sameeyo . Liiskaan waqtigaani wuxuu u egyahay sidan: {0..100.10.10}.
Lambarka kowaad waa 0 iyo lambarka dhammaadka waa 100. Lambarka saddexaad (10) waa tirada alaabta liiska ku qoran.
Tusaalaha kor ku qoran, sidaas darteed, wuxuu soo saaraa soo saaraha soo socda:
- 0
- 10
- 20
- 30
- 40
- 50
- 60
- 70
- 80
- 90
- 100
Caadi socdaasho raadis ah
Habka BASH ee qorista loogu talagalay qadiyadaha waa wax aad u yaryar marka la barbar dhigo luqadaha barnaamijyada kale.
Si kastaba ha ahaatee, waad u qori kartaa gawaarida qaabka la midka ah ee luqadda C barnaamijka, sidan oo kale:
#! / bin / bash
waayo ((tirada = 1; tirada <100; lambarka ++))
{
haddii (($ nambarka% 5 == 0))
markaa
codka "$ nambarku waa loo qeybin karaa 5"
fi
}
bixi 0
Boosku wuxuu ku billaabmayaa adoo dhigaya lambarka variable variable 1 (lambarka = 1 ). Dheerka ayaa sii wadi doona in la sii daayo halka qiimaha lambarkiisu ka yar yahay 100 ( lambarka 100 ). Qiimaha lambarka isbeddelka adoo ku daraya 1 illaa kaddib markaad soo noqoto ( lambarka + + ).
Wax kasta oo u dhexeeya jilbaha curdunka ah waxaa lagu sameeyaa iyada oo loo marayo istiraatiijiyad kasta.
Xuduudda u dhaxaysa jaangooyadu waxay hubisaa qiimaha lambarka , waxay u kala qaybisaa 5, waxayna isbarbardhigtaa inta ka dhiman 0. Haddii hadhaaga intaa le'eg yahay 0 markaa lambarka waa loo qeybin karaa 5 kadibna waxaa lagu muujiyaa shaashadda.
Tusaale ahaan:
- 5 waa loo qeybin karaa 5
- 10 waa loo qeybin karaa 5
- 15 waa loo qeybin karaa 5
Haddii aad rabto inaad bedesho xajmiga cabbirka ee jaantuska waxaad beddeli kartaa qaybta lambarka ++ si loo noqdo lambar = lambar + 2 , lambar = lambar + 5 , ama lambar = lambar + 10 iwm.
Tani waxay sii yaraaneysaa lambarka + = 2 ama lambar + = 5 .
Tusaale macquul ah
Qalabka loo yaqaan 'loop' ayaa ka badan kartaa liiska tirooyinka. Waxaad dhab ahaantii isticmaali kartaa soo saarka amarada kale sida liiska.
Tusaalahan soo socda ayaa muujinaya sida loo baddalayo faylasha codka ee MP3 ilaa WAV :
#! / bin / bash
Liiska liistada tusaalahan waa faylal kasta oo la socda faylka .MP3 ee ku jira faylka hadda iyo variable waa fayl .
Amarka mpg wuxuu u rogaa faylka MP3-ga ee WAV. Si kastaba ha noqotee, waxaad ubaahan tahay inaad tan ku rakibto adiga oo isticmaalaya maamulaha baakadkaaga marka hore