1. 程式人生 > 其它 >shell函式

shell函式

一、shell函式定義

二、函式返回值

三、函式傳參

四、函式變數的作用範圍

五、遞迴

六、建立庫

Shell函式∶

將命令序列按格式寫在一起可方便重複使用命令序列

一、shell函式定義

function 函式名{
     命令序列
}
函式名() {
     命令序列
}

二、函式返回值

return表示退出函式並返回一個退出值,指令碼中可以用 $?變數顯示該值

使用原則:
1.函式一-結束就取返回值,因為$?變數只返回執行的最後一條命令的退出狀態碼
2.退出狀態碼必須是0~255,超出時值將為除以256取餘

三、函式傳參

四、函式變數的作用範圍

• 函式在Shell指令碼中僅在當前Shell環境中有效


• Shell指令碼中變數預設全域性有效
• 將變數限定在函式內部使用local命令

1 myfun() {
2 local i
3 i=8
4 echo $i
5 }
6 i=9
7 myfun
8 echo $i

五、遞迴

函式呼叫自己本身的函式

階乘

 1 fact () {
 2   if[ $1 -eq 1 ]
 3   then
 4     echo 1
 5   else 
 6     local temp=$[$1 - 1]
 7     local result=$(fact $temp)
 8     echo $[$1 * $result]
 9  # 5
* Sresult (4*Sresult (3*$result (2*$resu1t(1)))) 10 fi 11 } 12 read -p "請輸入:” n 13 result=$(fact $n) 14 echo $result

遞迴目錄

六、建立庫