一、脚本
#!/bin/bash
#定义函数名fun1
fun1 () {
#定义函数阶层初始值
factorial=1
#使阶层循环
for((i=1;i<=$1;i++))
do
#阶层公式
factorial=$[$factorial*$i]
done
#输出阶层结果
echo "$1的阶乘是:$factorial"
}
fun1 $1
fun1 $2
fun1 $3
二、结果
[root@localhost ~]# bash hanshu1.sh 4 5 6
4的阶乘是:24
5的阶乘是:120
6的阶乘是:720
三、原理
1.一次传参
bash hanshu1.sh 4 5 6
传入4 5 6 三个参数-->fun1 $1:函数fun1只能接收参数$1(4)
fun1 $2: 函数fun1只能接收参数$2(5)
fun1 $2: 函数fun1只能接收参数$3(6)
2、第二次传参
fun1 $1:通过上次接收。。。此时它只有一个数4,相对位置为$1
传给函数体for((i=1;i<=$1;i++))进行计算
fun1 $2: 通过上次接收。。。此时它只有一个数5,相对位置为$1
传给函数体for((i=1;i<=$1;i++))进行计算
fun1 $3: 通过上次接收。。。此时它只有一个数6,相对位置为$1
传给函数体for((i=1;i<=$1;i++))进行计算
三、for 循环取数组的元素
#!/bin/bash
a="
file1
file2
file3
file4
file5
file6
file7
file8
"
for i in ${a[*]}
do
mkdir $i
done
echo "输出数组的所有元素: ${a[*]}"