په بش کې دندي او فعالیت کولو څرنګوالی

په باش کې د افعال رامینځته کولو او تلیفون کولو څرنګوالي لپاره یو ګړندي لارښود.

فنکشن د بیا کارونې وړ کوډ یو بلاک دی چې د ځینې عمل ترسره کولو لپاره کارول کیږي. د دندو سره ، موږ غوره ماډولیت او د کوډ بیا کارولو لوړه درجه ترلاسه کوو.

بش ځینې جوړ شوي دندې چمتو کوي لکه | 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() یوازې تولید شوی 'سلام ، زه'.


دا ځکه چې زموږ فعالیت یوازې 1 پیرامیټر اخیستو لپاره ډیزاین شوی دی printHello() د 'زه کوډ ورکول خوښوم!' په حقیقت کې 3 پیرامیټونه دي.

که موږ وغواړو چې دا ټول چاپ کړو موږ به اړتیا ولرو چې د متن شاوخوا نرخونه ولرو

د مثال په توګه:

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

راستنیدونکي ارزښتونه

د بش افعال کولی شي ارزښتونه هم راوباسي.

د مثال په توګه:

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