በባሽ ውስጥ ተግባሮችን እንዴት መፍጠር እና መደወል እንደሚቻል

በባሽ ውስጥ ተግባሮችን እንዴት መፍጠር እና መደወል እንደሚቻል ፈጣን መመሪያ።

አንድ ተግባር አንዳንድ እርምጃዎችን ለማከናወን የሚያገለግል እንደገና ጥቅም ላይ የሚውል ኮድ ማገጃ ነው። በተግባሮች የተሻሉ ሞዱላሊቶችን እና ከፍተኛ የኮድ እንደገና ጥቅም ላይ ማዋልን እናገኛለን ፡፡

ባሽ እንደ 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