標籤:
一、定義格式
[function] 函數名()
{
命令表
}
二、調用方法
先定義,後使用,直接輸入函數名,不需要圓括弧()
三、函數參數傳遞方法
可以利用位置參數或者變數進行傳遞
#! /bin/bash
# myfirst.sh
testFunction(){ echo "$1,$2" #位置參數傳遞參數 echo "$val1,$val2" #變數傳遞參數}val1="test1"val2="test2"testFunction 1 2 #調用函數echo "$1,$2" #列印呼叫指令碼時傳遞的位置參數
運行結果:
[[email protected] shell]# ./myfirst.sh a b1,2test1,test2a,b
四、return
通常,函數最後一條命令執行後,就退出函數,但也可以通過return命令立即退出函數
return [n]
其中n值為退出函數時的退出值,但n值預設時,退出值為最後一條命令退出時的退出值
五、一個shell指令碼中可以包含多個函數
#! /bin/bash
# myFirst2.sh
testFunction1(){ echo "$1,$2" return 1 echo "$val1,$val2"}val1="test1"val2="test2"testFunction1 1 2 #調用第一個函數echo "$?" #列印出函數testFunction1的退出值echo "$1,$2"testFunction2(){ echo "this is fun2" return 2 echo "test"}testFunction2 #調用第二個函數echo "$?" #列印出testFunction2的退出值
運行結果:
[[email protected] shell]# ./myfirst2.sh a b1,21a,bthis is fun22
六、小結
shell中的函數可以把若干命令集合到一起,通過一個函數名調用,並可重複調用,加強指令碼的重複利用。
shell 指令碼學習筆記--函數