bash shell脚本fibonacci在0 1 1后没有显示值2?

时间:2013-11-24 13:53:10

标签: bash shell fibonacci

我正在为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

2 个答案:

答案 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