Shell脚本:命令未找到错误

时间:2016-07-25 20:16:33

标签: shell

#!/bin/bash

calc()
{
        n1=$1
        op=$2
        n2=$3
        ans=0

        if [ $# -eq 3 ]
                then
                $ans=$(expr $n1 $op $n2);
                echo "$n1 $op $n2 = $ans"
                return $ans
        else
                echo "Needs 3 parameters!"
        fi

        return;

}

我googled很多,但我仍然无法在我的代码中找到错误,我知道这是一个非常简单的代码,但请帮助我,我是全新的,并尝试自学。

我得到的错误是

line 12: 0=11: command not found

提前谢谢

2 个答案:

答案 0 :(得分:4)

错误即将来临' $ ans'在这一行

 $ans=$(expr $n1 $op $n2);

应该是

ans=$(expr $n1 $op $n2);

' $'正在评估变量'结果而不是将结果分配给变量' ans',它试图将结果分配给' 0'。

答案 1 :(得分:1)

#!/bin/bash

calc()
{
        n1=$1
        op=$2
        n2=$3
        ans=0

        if [ $# -eq 3 ]
                then
                ans=$(expr $n1 $op $n2)
                echo "$n1 $op $n2 = $ans"
                return $ans
        else
                echo "Needs 3 parameters!"
        fi

        return

}

calc 6 + 5

想通了! :)