బాష్‌లో విధులను ఎలా సృష్టించాలి మరియు కాల్ చేయాలి

బాష్‌లో ఫంక్షన్లను ఎలా సృష్టించాలో మరియు కాల్ చేయాలో శీఘ్ర గైడ్.

ఫంక్షన్ అనేది పునర్వినియోగ కోడ్ యొక్క బ్లాక్, ఇది కొంత చర్యను చేయడానికి ఉపయోగించబడుతుంది. ఫంక్షన్లతో, మేము మంచి మాడ్యులారిటీని మరియు అధిక స్థాయి కోడ్ పునర్వినియోగాన్ని పొందుతాము.

బాష్ | _ _ + _ | వంటి కొన్ని అంతర్నిర్మిత విధులను అందిస్తుంది మరియు echo, కానీ మన స్వంత విధులను కూడా సృష్టించవచ్చు.




బాష్‌లో ఒక ఫంక్షన్‌ను సృష్టిస్తోంది

మేము బాష్‌లో విధులను సృష్టించగల రెండు మార్గాలు ఉన్నాయి:

ఫంక్షన్ పేరును ఉపయోగించడం ఒక మార్గం, ఉదా:


read

కాంపాక్ట్ వెర్షన్:

functionName(){ // scope of function }

functionName(){ echo 'hello'; } ఉపయోగించి ఒక ఫంక్షన్‌ను ప్రకటించడం మరొక మార్గం కీవర్డ్:

function

కాంపాక్ట్ వెర్షన్:

function functionName { // scope of function }

మనకు function functionName { echo 'hello'; } ఎలా అవసరం లేదని గమనించండి () ఉపయోగిస్తున్నప్పుడు ఫంక్షన్ సృష్టించడానికి కీవర్డ్.


బాష్ ఫంక్షన్ల గురించి గమనించవలసిన ముఖ్యమైన అంశాలు:

  • వంకర కలుపుల మధ్య కోడ్ function ఫంక్షన్ బాడీ మరియు స్కోప్
  • ఒక ఫంక్షన్‌కు కాల్ చేసినప్పుడు, మేము బాష్ స్క్రిప్ట్‌లో ఎక్కడి నుంచైనా ఫంక్షన్ పేరును ఉపయోగిస్తాము
  • ఫంక్షన్ ఉపయోగించబడటానికి ముందు దానిని నిర్వచించాలి
  • కాంపాక్ట్ సంస్కరణను ఉపయోగిస్తున్నప్పుడు, చివరి ఆదేశానికి సెమికోలన్ {} ఉండాలి

ఉదాహరణ:

కింది కోడ్ కన్సోల్‌కు “హలో వరల్డ్” ను ప్రింట్ చేసే ఫంక్షన్‌ను సృష్టిస్తుంది. ఫంక్షన్ పేరు అంటారు printHello :

;

బాష్‌లో ఒక ఫంక్షన్‌ను పిలుస్తోంది

పై ఫంక్షన్‌ను ఎలా పిలుస్తాము? మీ బాష్ స్క్రిప్ట్‌లో మీరు చేయాల్సిందల్లా ఫంక్షన్ పేరు రాయడం మరియు అది పిలువబడుతుంది.


ఉదాహరణకి:

#!/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 'హలో, నేను' మాత్రమే అవుట్పుట్ చేయబడింది.


మా ఫంక్షన్ 1 పరామితి printAny I love coding! మాత్రమే తీసుకునేలా రూపొందించబడింది. 'నేను కోడింగ్‌ను ప్రేమిస్తున్నాను!' నిజానికి 3 పారామితులు.

మేము ఇవన్నీ ప్రింట్ చేయాలనుకుంటే, టెక్స్ట్ చుట్టూ కోట్స్ ఉంచాలి

ఉదాహరణకి:

$1

అవుట్పుట్:

#!/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

ఆసక్తికరమైన కథనాలు