shell脚本:无法为变量赋值

时间:2011-04-07 06:46:12

标签: shell scripting

用于以下脚本

#!/bin/sh

    count1=0
    noOfArg=0
    checkOtherParam()
    {
    echo $parameter
    return 4
    }
    if($count1 eq $noOfArg)
    then
        echo "Yes"
    else
        echo "No

"
fi

〜 我收到错误

./ sample.sh:0:not found 否

请让我知道,问题是什么

4 个答案:

答案 0 :(得分:2)

我会写这样的比较

if (($count1 == $noOfArg))
then
...
fi

以上是算术比较,与

执行的条件比较相反
if [ $count1 -eq $noOfArg ]
then
...
fi

然而在这种情况下,我假设它们都会产生相同的结果。

答案 1 :(得分:1)

在if语句中使用括号。这不是正确的bash语法。在这里它被纠正(没有神秘破碎的checkOtherParam函数):

#!/bin/sh

count1=0
noOfArg=0

if [ $count1 -eq $noOfArg ]
then
    echo "Yes"
else
    echo "No"
fi

答案 2 :(得分:1)

if($count1 eq $noOfArg)

应该是

if [ $count1 -eq $noOfArg ]

答案 3 :(得分:0)

您也可以使用case/esac

case "$count" in
 "$noOfArg" ) echo "yes";;
 *) echo "no";;
esac