【发布时间】:2012-05-09 04:18:57
【问题描述】:
我对自动化有一个要求。
我需要在 Linux 的命令行中将 1、2、3 等值传递给 MY_IMAGE。
我已经在其他 make 文件中为所有这些输入定义了活动。
我为我的要求编写了类似于下面的代码。问题是每当我传递诸如 MY_IMAGE=1、MY_IMAGE=2、MY_IMAGE=3 之类的值时
它只打印echo ACT_DO=XYZ;
当我选择 2 或 3 时,它不会显示其他信息。任何人都可以检查并更正我的代码。
export MY_IMAGE
MY_IMAGE=$img_value;
if [ $img_value :="1" ]
then
echo ACT_DO=XYZ;
else
if [ $img_value :="2 ]
then
echo ACT_DO=ABC;
else
if [ $img_value :=3 ]
then
echo ACT_DO=ETC;
else
echo ""$img_value" is unsupported";
exit 1;
fi
fi
fi
【问题讨论】:
-
这不是 makefile 语法。它是一个 shell 脚本吗?
-
上述代码是否符合要求?如果是外壳也可以。
-
此代码不可能工作:缺少
"引号。:=看起来也有问题(为什么不是=?)请在发布代码示例时复制并粘贴。 -
你用的是什么外壳?据我所知,它看起来像
bash。