#!/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
提前谢谢
答案 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
想通了! :)