shell函式
阿新 • • 發佈:2021-07-20
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
遞迴目錄