你知道我的斐波那契脚本出了什么问题吗?我总是收到错误消息: ./fibonacci.sh:第 11 行:意外标记“do”附近出现语法错误
#!/bin/bash
#fibonacci
echo "Geben Sie die n-te Fibonacci-Zahl ein:"
read n
if [$n -lt 2]; then
echo $n
else
array[0] = 0
array[1] = 1
for[k=2; $k -le $n; k++]; do
x = $array[0] + $array[1]
$array[0] = $array[1]
$array[1] = $x
done
echo $array[1]
fi
请帮忙!
最佳答案
你里面有一些错误。
第一,数组使用不当。如果使用花括号,请使用它们。请参阅here 。其次,我用 while
循环重新设计了您的代码 - 它更容易理解。第三,bash 不喜欢赋值中的空格。
#!/bin/bash
#fibonacci
echo "Geben Sie die n-te Fibonacci-Zahl ein:"
read n
if [ $n -lt 2 ]; then
echo $n
else
array[0]=0
array[1]=1
k=2
while [ $k -le $n ]
do
let x=${array[0]}+${array[1]}
array[0]=${array[1]}
array[1]=$x
let k=$k+1
done
echo ${array[1]}
fi
示例:
$ ./test.sh
Geben Sie die n-te Fibonacci-Zahl ein:
6
8
关于linux - ./斐波那契.sh : line 11: syntax error near unexpected token `do' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13210676/