我正在为fibonacci编写一个bash脚本,它不会在0 1 1之后打印该值。 0 1 1后不打印“2”。 代码如下。
echo "enter the number"
read n
a=0
b=1
c=0
echo $a
echo $b
while [ $b -le $n ]
do
c=`expr $a + $b`
echo $c
b=`expr $b + 1`
a=$b
b=$c
done
答案 0 :(得分:3)
在bash中,请勿使用作业左侧的美元符号。
$ C = $ A + $ B
应该是
C = $ A + $ B
但它可能仍然没有做你想要的,试试
c=$((a+b))
代替。
答案 1 :(得分:0)
echo "enter the number"
read n
a=0
b=1
c=0
while [ $b -le $n ]
do
c=`expr $a + $b`
echo $c ' = ' $a ' + ' $b
a=$b
b=$c
done