በባሽ ውስጥ ተግባሮችን እንዴት መፍጠር እና መደወል እንደሚቻል ፈጣን መመሪያ።
አንድ ተግባር አንዳንድ እርምጃዎችን ለማከናወን የሚያገለግል እንደገና ጥቅም ላይ የሚውል ኮድ ማገጃ ነው። በተግባሮች የተሻሉ ሞዱላሊቶችን እና ከፍተኛ የኮድ እንደገና ጥቅም ላይ ማዋልን እናገኛለን ፡፡
ባሽ እንደ echo
ያሉ አንዳንድ አብሮገነብ ተግባሮችን ይሰጣል እና read
ግን የራሳችንን ተግባራት መፍጠር እንችላለን።
በባሽ ውስጥ ተግባሮችን መፍጠር የምንችልባቸው ሁለት መንገዶች አሉ
አንደኛው መንገድ የተግባሩን ስም ብቻ መጠቀም ነው ፣ ለምሳሌ:
functionName(){ // scope of function }
የታመቀ ስሪት
functionName(){ echo 'hello'; }
ሌላው መንገድ function
ን በመጠቀም አንድ ተግባር ማወጅ ነው ቁልፍ ቃል
function functionName { // scope of function }
የታመቀ ስሪት
function functionName { echo 'hello'; }
()
እንዴት እንደማንፈልግ ልብ ይበሉ function
ን ሲጠቀሙ ተግባር ለመፍጠር ቁልፍ ቃል.
ስለ ባሽ ተግባራት ልብ ማለት አስፈላጊ ነጥቦች
{}
የሥራ አካል እና ወሰን ነው;
ለምሳሌ:
የሚከተለው ኮድ “ሄሎ ዓለም” ን ወደ ኮንሶል የሚያወጣ ተግባርን ይፈጥራል። የተግባሩ ስም ተጠርቷል ህትመት ሰላም :
#!/bin/bash printHello(){
echo 'Hello World!' }
ከላይ ያለውን ተግባር እንዴት ብለን እንጠራዋለን? በባሻ ጽሑፍዎ ውስጥ ማድረግ ያለብዎት ነገር የተግባሩን ስም መፃፍ ብቻ ነው እናም እሱ ይጠራል ፡፡
ለምሳሌ:
#!/bin/bash printHello(){
echo 'Hello World!' } # Call printHello function from anywhere in the script by writing the name printHello
ውጤት
'Hello World'
ከላይ ያለው ተግባር printHello()
ምንም መለኪያዎች የሉትም። በምንጠራው ጊዜ ሁሉ “ሄሎ ዓለም” የሚባለውን ምርት እናገኛለን ፡፡ ግን የበለጠ አጠቃላይ ተግባር ለመፍጠር ከፈለግንስ? ለምሳሌ ተግባሩን በተወሰነ ክርክር ልንጠራው እንችላለን እናም የምንልክለትን ያትመናል ፡፡
ይህንን ለማድረግ ሁለት መንገዶች አሉ ፡፡
በመጀመሪያ እኛ printHello()
ማሻሻል እንችላለን የሚተላለፉትን ክርክሮች ለማተም ተግባር
ለምሳሌ:
#!/bin/bash printAny(){
echo 'Hello ' $1 } printAny World printAny DevQa printAny I love coding!
ውጤት
Hello World Hello DevQA Hello I
ሦስተኛው የህትመት መግለጫ printAny I love coding!
“ሠላም ፣ እኔ” የሚል ብቻ ወጥቷል ፡፡
ይህ የሆነበት ምክንያት ተግባራችን የተቀየሰው 1 ልኬትን ብቻ ነው $1
. የሚለው ቃል “ኮድ ማውጣት እወዳለሁ!” በእውነቱ 3 መለኪያዎች ነው።
ሁሉንም ማተም ከፈለግን በጽሁፉ ዙሪያ ጥቅሶችን ማስቀመጥ ያስፈልገናል
ለምሳሌ:
#!/bin/bash printAny(){
echo 'Hello ' $1 } printAny 'I love coding!'
ውጤት
Hello I love coding
ሌላ ምሳሌ እኛ በአሃዞች እንዲሁ ማለፍ እንችላለን-
#!/bin/bash add() {
result=$(($1 + $2))
echo 'Result is: $result' } add 1 2
ውጤት
Result is: 3
የባሽ ተግባራት እንዲሁ እሴቶችን መመለስ ይችላሉ።
ለምሳሌ:
#!/bin/bash add() {
result=$(($1 + $2)) } add 1 2 echo 'The sum is: '$result
ውጤት
The sum is: 3
ከተግባሮች እሴቶችን ለመመለስ ሌላኛው መንገድ ውጤቱን እንደአስፈላጊነቱ ጥቅም ላይ በሚውል ተለዋዋጭ ላይ መመደብ ነው ፡፡
ለምሳሌ:
#!/bin/bash add () { local result=$(($1 + $2)) echo '$result' } result='$(add 1 2)' echo 'The sum is: '$result
ውጤት
The sum is: 3