关于linux:Bash中意外标记’elif’附近的语法错误

Syntax error near unexpected token 'elif' in Bash

我正在使用一种新的语言,我认为它是Linux,但老实说,我没有任何线索;我们通过一个名为Putty的程序连接到某个服务器来完成这个编程。作为任务的一部分,我必须创建一个计算器程序,它以两个数字和一个运算符作为参数,但我得到了一堆意想不到的令牌错误。我迷路了,我的课文也没有。我的教授到目前为止都很有用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash

function add {
        echo $(( $1 + $2 ))
}

function subtract {
        echo $(( $1 - $2 ))
}

function multiply {
        echo $(( $1 x $2 ))
}

function divide {
        echo $(( $1 / $2 ))
}

if [ $3 = '+' ] then add

到目前为止,我只是想从命令中得到2。/calc.sh 1 1 1+,但是我在第20行syntax error near unexpected token 'elif' [ $3 = '-' ]上一直得到意外的令牌错误,然后减去


这将满足您的需求:

1
2
3
4
5
6
7
8
#!/bin/bash

function add {
        echo $(( $1 + $2 ))
}

if [ $3 = '+' ]; then add $1 $2
fi


在最后一行中,我们可以看到一些问题。

如果[$3='+']虽然它可能正是选择停止粘贴的地方,但是您的函数需要传递参数,因此"添加$1$2"与"添加"