Cara Nggawe lan Nelpon Fungsi ing Bash

Pandhuan cepet babagan cara nggawe lan nelpon fungsi ing Bash.

Fungsi minangka blok kode sing bisa digunakake maneh sing digunakake kanggo tumindak. Kanthi fungsi, kita entuk modularitas sing luwih apik lan nggunakake maneh derajat.

Bash nyedhiyakake sawetara fungsi internal kayata echo lan read, nanging kita uga bisa nggawe fungsi dhewe.




Nggawe Fungsi ing Bash

Ana rong cara kanggo nggawe fungsi ing Bash:

Siji cara yaiku nggunakake jeneng fungsi, kayata:


functionName(){ // scope of function }

Versi kompak:



functionName(){ echo 'hello'; }

Cara liya yaiku ngumumake fungsi nggunakake function kata kunci:

function functionName { // scope of function }

Versi kompak:

function functionName { echo 'hello'; }

Gatekna kepiye ora butuh () nalika nggunakake function tembung kunci kanggo nggawe fungsi.


Titik penting kanggo dicathet babagan fungsi Bash:

  • Kode ing antarane kurung kriting {} yaiku awak fungsi lan ruang lingkup
  • Nalika nelpon fungsi, kita mung nggunakake jeneng fungsi saka ngendi wae ing skrip bash
  • Fungsi kasebut kudu ditetepake sadurunge bisa digunakake
  • Nalika nggunakake versi kompak, printah pungkasan kudu duwe titik koma ;

Tuladha:

Kode ing ngisor iki nggawe fungsi sing nyithak 'Hello World' menyang console. Jeneng fungsi diarani salam :

#!/bin/bash printHello(){
echo 'Hello World!' }


Nelpon Fungsi ing Bash

Kepiye cara nyebut fungsi ing ndhuwur? Sampeyan mung kudu nggawe skrip bash yaiku nulis jeneng fungsi lan bakal diarani.


Contone:

#!/bin/bash printHello(){
echo 'Hello World!' } # Call printHello function from anywhere in the script by writing the name printHello

Output:

'Hello World'

Nglangkungi Argumen

Fungsi ing ndhuwur printHello() ora duwe paramèter. Kapan wae kita sebut, kita bakal entuk output 'Hello World'. Nanging kepiye yen pengin nggawe fungsi sing luwih umum? Contone, kita bisa nelpon fungsi kanthi sawetara argumen lan bakal nyithak apa sing dikirim.

Ana rong cara kanggo nindakake iki.


Kaping pisanan bisa ngowahi printHello() fungsi kanggo nyithak bantahan sing diwenehake:

Contone:

#!/bin/bash printAny(){
echo 'Hello ' $1 } printAny World printAny DevQa printAny I love coding!

Output:

Hello World Hello DevQA Hello I

Gatekna kepiye pratelan cetak katelu printAny I love coding! mung output 'Halo, Aku'.


Iki amarga fungsi kita dirancang kanggo mung njupuk 1 paramèter $1. Tembung 'Aku seneng ngode!' sejatine 3 paramèter.

Yen kita pengin nyithak kabeh, mula kudu dikutip ing teks

Contone:

#!/bin/bash printAny(){
echo 'Hello ' $1 } printAny 'I love coding!'

Output:

Hello I love coding

Contone liyane, kita uga bisa ngirim digit:

#!/bin/bash add() {
result=$(($1 + $2))
echo 'Result is: $result' } add 1 2

Output:

Result is: 3

Nilai Bali

Fungsi bash uga bisa ngasilake angka.

Contone:

#!/bin/bash add() {
result=$(($1 + $2)) } add 1 2 echo 'The sum is: '$result

Output:

The sum is: 3

Cara liya kanggo ngasilake nilai saka fungsi yaiku menehi asil menyang variabel sing bisa digunakake nalika dibutuhake.

Contone:

#!/bin/bash add () { local result=$(($1 + $2)) echo '$result' } result='$(add 1 2)' echo 'The sum is: '$result

Output:

The sum is: 3