Itọsọna iyara lori bii o ṣe le ṣẹda ati pe awọn iṣẹ ni Bash.
Iṣẹ kan jẹ bulọọki ti koodu atunṣe ti o lo lati ṣe diẹ ninu iṣe. Pẹlu awọn iṣẹ, a gba modularity ti o dara julọ ati alefa giga ti ilotunlo koodu.
Bash pese diẹ ninu awọn iṣẹ ti a ṣe sinu bii echo
ati read
, ṣugbọn a tun le ṣẹda awọn iṣẹ ti ara wa.
Awọn ọna meji lo wa ti a le ṣẹda awọn iṣẹ ni Bash:
Ọna kan ni lati lo orukọ iṣẹ nikan, fun apẹẹrẹ:
functionName(){ // scope of function }
Iwapọ iwapọ:
functionName(){ echo 'hello'; }
Ọna miiran ni lati kede iṣẹ kan ni lilo function
koko:
function functionName { // scope of function }
Iwapọ iwapọ:
function functionName { echo 'hello'; }
Ṣe akiyesi bii a ko ṣe nilo ()
nigba lilo function
koko lati ṣẹda iṣẹ kan.
Awọn aaye pataki lati ṣe akiyesi nipa awọn iṣẹ Bash:
{}
jẹ ara iṣẹ ati dopin;
Apẹẹrẹ:
Koodu ti o tẹle yii ṣẹda iṣẹ eyiti o tẹ jade “Hello World” si itọnisọna naa. Orukọ iṣẹ naa ni a pe sitaHello :
#!/bin/bash printHello(){
echo 'Hello World!' }
Bawo ni a ṣe pe iṣẹ ti o wa loke? Gbogbo ohun ti o nilo lati ṣe ninu iwe afọwọkọ rẹ bash ni lati kọ orukọ iṣẹ naa ati pe yoo pe.
Fun apere:
#!/bin/bash printHello(){
echo 'Hello World!' } # Call printHello function from anywhere in the script by writing the name printHello
Ijade:
'Hello World'
Iṣẹ ti o wa loke printHello()
ko ni awọn ipele kankan. Nigbakugba ti a ba pe, a gba iṣẹjade “Hello World”. Ṣugbọn kini ti a ba fẹ ṣẹda iṣẹ jeneriki diẹ sii? Fun apẹẹrẹ a le pe iṣẹ naa pẹlu ariyanjiyan kan ati pe yoo tẹ ohun ti a firanṣẹ si.
Awọn ọna meji lo wa lati ṣe eyi.
Ni akọkọ a le ṣe atunṣe printHello()
iṣẹ lati tẹ awọn ariyanjiyan ti o kọja si rẹ:
Fun apere:
#!/bin/bash printAny(){
echo 'Hello ' $1 } printAny World printAny DevQa printAny I love coding!
Ijade:
Hello World Hello DevQA Hello I
Ṣe akiyesi bi alaye atẹjade kẹta printAny I love coding!
nikan ti jade 'Hello, I'.
Eyi jẹ nitori pe a ṣe apẹrẹ iṣẹ wa lati mu nikan paramita 1 $1
. Ọrọ naa “Mo nifẹ ifaminsi!” jẹ kosi 3 sile.
Ti a ba fẹ lati tẹ gbogbo rẹ ni a yoo nilo lati fi awọn agbasọ sori ọrọ naa
Fun apere:
#!/bin/bash printAny(){
echo 'Hello ' $1 } printAny 'I love coding!'
Ijade:
Hello I love coding
Apẹẹrẹ miiran, a le kọja ninu awọn nọmba daradara:
#!/bin/bash add() {
result=$(($1 + $2))
echo 'Result is: $result' } add 1 2
Ijade:
Result is: 3
Awọn iṣẹ Bash tun le da awọn iye pada.
Fun apere:
#!/bin/bash add() {
result=$(($1 + $2)) } add 1 2 echo 'The sum is: '$result
Ijade:
The sum is: 3
Ọna miiran lati pada si awọn iye lati iṣẹ kan ni lati fi abajade si oniyipada eyiti o le lo bi ati nigba ti o nilo.
Fun apere:
#!/bin/bash add () { local result=$(($1 + $2)) echo '$result' } result='$(add 1 2)' echo 'The sum is: '$result
Ijade:
The sum is: 3