1 实现递归函数算阶乘:#!/bin/bash #fileName:function2.sh factorial() { local i=$1; #需要使用local关键字,否则返回结果始终为0,因为shell将默认的变量当作全局变量 if [ $i -eq 0 ] then rtn=1 else factorial `expr $i - 1` #echo $rtn rtn=`expr $i "*" $rtn` #可以使用return `expr $i /* $?`,但是当结果大于256时,结果出错,因为shell定义的$?范围限制 fi return $rtn; } if [ -z $1 ] then echo "need one parameter"; exit 1; fifactorial $1; echo $rtn;2.shell遍历目录#!/bin/bassh #filename:for i in ls for i in "(ls -l $1)" do echo $i #这里获取文件名或者文件夹名,然后可以完成其它操作 done