function 函数名 { 命令序列 }
函数名 () { 命令序列 }
(1)函数一结束就取返回值,因为 $? 变量只返回执行的最后一条命令的退出状态码
(2)退出状态码必须是 0~255,超出时值将为除以 256 取余
function sum { read -p "请输入: " value return $ [$value * 2] } sum echo $? sum2 () { read -p "请输入: " value echo $ [$value * 2] } result=`sum2` echo $result
sum() { s=$[$1 + $2] echo $s } first=$1 second=$2 sum $1 $2
fact() { if [ $1 -eq 1 ];then echo 1 else local temp=$[ $1 - 1 ] local result=$( fact $temp ) echo $[ $1 * $result ] fi } read -p "请输入一个阶乘的数字:" n result=$( fact $n ) echo $n 的阶乘结果为 $result