斐波那契数列脚本
最后一个数字永远是前2个数字的和
0 1 1 2 3 5 8 12 …
a=(0 1)
//数组中的下标从零开始
a[2]=`expr ${a[0]} + ${a[1]}`
a[3]=`expr ${a[1]} + ${a[2]}`
....
a[n]=`expr ${a[n-2]} + ${a[n-1]}`
a[$n]=`expr ${a[$[n-2]]} + ${a[n-2]]}`
替换为:
a=(0 1)
for n in `seq 2 20`
do
a[$n]=`expr ${a[-2]} + ${a[-1]}`
done
echo ${a[@]}
while循环:
语法结构:
while 条件测试
do
命令
done
条件测试:
无心的死循环:
i=1
while [ $i -le 5 ]
do
echo %i
done
有心的死循环:
while
do
命令
done
猜数字:
#!/bin/bash
num=$[RANDOM%100+1]
# 电脑生成随机数,范围是1-100
i=0
while: [ $i -le 3 ]
do
read -p “随机数1-100,你猜:” guess
if [ $i -eq 3 ];then
echo“这是你最有一次猜了”
exit
fi
let i++
if [ $guess -eq $num ];then
echo“恭喜你,猜对了!”
exit
elif [ $huess -gt $num ];then
echo“猜大了”
else
echo“猜小了”
fi
done
echo“已经猜三次了”
升级:
1.无限次数猜,统计第几次猜对的!
2.只能猜三次,猜不对就不让猜了!