| Shell 設計入門: | ||
|---|---|---|
| <<< Previous | 16.函式 | Next >>> |
在函式中自己呼叫自己,我們稱為遞迴 (當然,'遞迴'一詞有嚴格的定義,這裡只是簡述。)
例: Factor.sh
#! /bin/sh
#
# function 也可以使用遞迴功能
# 以下是數學階乘的計算, 如 5! = 5 * 4 * 3 * 2 * 1
#
function factor_in () {
local tmp
local tmp1
tmp="$1"
if [ $tmp -eq 1 ]; then
echo -n " 1 "
r=1
else
echo -n " $tmp * "
tmp1=$tmp
tmp=$(($tmp-1))
factor_in $tmp
r=$(($tmp1 * $r))
fi
}
if [ $# -ne 1 ]; then
echo "使用法: $0 正整數"
exit
fi
echo
echo -n $1"! = "
factor_in $1
echo -n "= $r"
echo
======================
執行法:
./Factor.sh 5
結果:
5! = 5 * 4 * 3 * 2 * 1 = 120
|
| <<< Previous | Home | Next >>> |
| 傳遞參數 | Up | 17.select 選單語法 |