在Linux中执行时出现Makefile错误
我的自动化系统有一个要求 在Linux中,我需要在命令行中将像1、2、3这样的值传递给我的_映像 我在其他make文件中定义了所有这些输入的活动 下面的代码类似于我为自己的需求编写的代码。问题是每当我传递像MY_IMAGE=1、MY_IMAGE=2、MY_IMAGE=3这样的值时 它只打印在Linux中执行时出现Makefile错误,linux,shell,Linux,Shell,我的自动化系统有一个要求 在Linux中,我需要在命令行中将像1、2、3这样的值传递给我的_映像 我在其他make文件中定义了所有这些输入的活动 下面的代码类似于我为自己的需求编写的代码。问题是每当我传递像MY_IMAGE=1、MY_IMAGE=2、MY_IMAGE=3这样的值时 它只打印echo ACT\u DO=XYZ 当我选择2或3时,它不会显示其他信息。有人能检查并更正我的代码吗 export MY_IMAGE MY_IMAGE=$img_value; if [ $img_value :
echo ACT\u 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
据我所知,您的代码在错误的地方引用了一个引号,并且使用了:=
,这并不意味着什么。它的实现也令人困惑
试试这个:
export MY_IMAGE
MY_IMAGE=$img_value
case "$img_value" in
1 ) echo ACT_DO=XYZ ;;
2 ) echo ACT_DO=ABC ;;
3 ) echo ACT_DO=ETC ;;
* )
echo "\"$img_value\" is unsupported"
exit 1
;;
esac
这段代码不需要前两行,但我想您还需要其他代码。这不是makefile语法。这是一个shell脚本吗?所提到的代码是否符合要求?如果它是shell也可以。这个代码不可能工作:一个“
引号丢失了。:=
看起来也错了(为什么不=
?)请在发布代码示例时复制并粘贴。你在使用什么shell?据我所知,它看起来像bash
。