脚本:
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=2
,IMAGE=3
可能是我分配的值。仅显示DO=ABC
。其他条件不起作用。谁能解释我的脚本出了什么问题? 最佳答案
如果$imgvalue
不是空字符串,则您的第一个测试是语法错误,因此我假设您正在执行的测试中它为空。在这种情况下,您的第一个测试等效于:
if [ :=1 ]
这总是正确的,因为
:=1
不是一个空字符串。您可能打算写:if [ "$imgvalue" = 1 ]