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;
}
我用Google搜索了很多,但我仍然无法找到我的代码中的错误,我知道这是一个非常简单的代码,但请帮助我,我是全新的,并试图自学。Shell脚本:命令未找到错误
我得到的错误是
line 12: 0=11: command not found
预先感谢您
答
错误快到 '$答' 在这一行
$ans=$(expr $n1 $op $n2);
应该
ans=$(expr $n1 $op $n2);
'$'是eva luating变量'ans',结果不是将结果赋值给变量'ans',而是试图将结果赋值为'0'。
答
#!/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
想通了! :)
[shellcheck](http://www.shellcheck.net)有助于指出,不应在作业的左侧使用'$'。 –