Isikhokelo esikhawulezayo sendlela yokwenza kunye nokufowuna imisebenzi eBhash.
Umsebenzi ibhlokhi yekhowudi enokuphinda isetyenziswe ukwenza isenzo esithile. Ngemisebenzi, sifumana imodareyitha engcono kunye nenqanaba eliphezulu lokusetyenziswa kwakhona kwekhowudi.
I-Bash ibonelela ngemisebenzi eyakhelweyo ngaphakathi njenge echo
kunye read
, kodwa sinokwenza imisebenzi yethu.
Zimbini iindlela esinokwenza ngayo imisebenzi eBhash:
Enye indlela kukusebenzisa igama lomsebenzi, o.k.t.
functionName(){ // scope of function }
Uhlobo oluhlanganisiweyo:
functionName(){ echo 'hello'; }
Enye indlela kukubhengeza umsebenzi usebenzisa function
igama elingundoqo:
function functionName { // scope of function }
Uhlobo oluhlanganisiweyo:
function functionName { echo 'hello'; }
Qaphela ukuba asiyifuni njani i - _ + _ | xa usebenzisa ()
igama eliphambili lokwenza umsebenzi.
Amanqaku abalulekileyo ekufuneka uwaqaphele malunga nemisebenzi yeBash:
function
ngumzimba womsebenzi kunye nomda{}
Umzekelo:
Le khowudi ilandelayo yenza umsebenzi oprinta 'Molo weHlabathi' kwikhonsoli. Igama lomsebenzi ubiziwe printHero :
;
Siwubiza njani lo msebenzi ungasentla? Konke okufuneka ukwenze kwiskripthi sakho se-bash kukubhala igama lomsebenzi kwaye uya kubizwa.
Umzekelo:
#!/bin/bash printHello(){
echo 'Hello World!' }
Iziphumo:
#!/bin/bash printHello(){
echo 'Hello World!' } # Call printHello function from anywhere in the script by writing the name printHello
Umsebenzi ongasentla 'Hello World'
ayinazo iiparameter. Nanini na xa siyibiza, sifumana iziphumo 'Molo weHlabathi'. Kodwa kuthekani ukuba sifuna ukwenza umsebenzi oqhelekileyo? Umzekelo singabiza umsebenzi ngengxoxo ethile kwaye iya kuprinta into esiyithumela kuyo.
Zimbini iindlela zokwenza oku.
Kuqala singaguqula printHello()
sebenza ukuprinta iimpikiswano ezidluliselwe kuyo:
Umzekelo:
printHello()
Iziphumo:
#!/bin/bash printAny(){
echo 'Hello ' $1 } printAny World printAny DevQa printAny I love coding!
Qaphela ukuba ingxelo yesithathu yokuprinta Hello World Hello DevQA Hello I
kukhutshwe kuphela 'Molo, Ndi'.
Kungenxa yokuba umsebenzi wethu wenzelwe ukuthatha kuphela iparameter eli-1 printAny I love coding!
. Igama 'Ndiyakuthanda ukufaka iikhowudi!' ngenene ziiparamitha ezi-3.
Ukuba sifuna ukuyiprinta yonke kuya kufuneka sibeke iikowuti malunga nesicatshulwa
Umzekelo:
$1
Iziphumo:
#!/bin/bash printAny(){
echo 'Hello ' $1 } printAny 'I love coding!'
Omnye umzekelo, sinokudlula ngamanani ngokunjalo:
Hello I love coding
Iziphumo:
#!/bin/bash add() {
result=$(($1 + $2))
echo 'Result is: $result' } add 1 2
Imisebenzi yeBhash nayo inokubuyisa amaxabiso.
Umzekelo:
Result is: 3
Iziphumo:
#!/bin/bash add() {
result=$(($1 + $2)) } add 1 2 echo 'The sum is: '$result
Enye indlela yokubuyisa amaxabiso emsebenzini kukwabela umphumo kuguquko olunokusetyenziswa xa kufuneka njalo.
Umzekelo:
The sum is: 3
Iziphumo:
#!/bin/bash add () { local result=$(($1 + $2)) echo '$result' } result='$(add 1 2)' echo 'The sum is: '$result