0

脚本 :

IMAGE=$imgvalue;
if  [ $imgvalue :=1 ]
then
    echo DO=ABC;
elif [ $imgvalue :=2 ]
then
    echo DO=ETC;
elif [ $imgvalue :=3 ]
then
    echo DO=XYZ;
else
    echo "$imgvalue is unsupported";
    exit 1; 
fi

在上面的脚本中,IMAGE=1, IMAGE=2IMAGE=3无论我分配的值是什么。它只显示DO=ABC。其他条件无效。谁能解释我的脚本有什么问题?

4

1 回答 1

0

如果$imgvalue不是空字符串,则您的第一个测试是语法错误,所以我假设它在您正在执行的测试中为空。在这种情况下,您的第一个测试相当于:

if [ :=1 ]

这总是正确的,因为:=1它不是一个空字符串。你可能打算写:

if [ "$imgvalue" = 1 ]
于 2012-11-06T20:10:46.323 回答