linux - ./斐波那契.sh : line 11: syntax error near unexpected token `do'

标签 linux shell fibonacci

你知道我的斐波那契脚本出了什么问题吗?我总是收到错误消息: ./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/

相关文章:

bash - 如何将 Go cmd 应用程序提供为高效应用程序

python - 在 bash/python/perl 脚本中运行一系列交互式 shell 命令

java - 优化递归斐波那契方法。

c - C 编程中的线程 (linux)

linux - 用于关闭/重启 Linux 系统的 shell 脚本

php - 安装 Zend Framework 和使用 zf 脚本时出现问题

c++ - 斐波那契数列溢出,C++

linux - tr 的意外输出

bash - Shell脚本在给定文件夹时打印出文件名

C++ Stack Fibinacci Hw 问题澄清