Shell 外壳命令的返回值未分配给相应变量,并在Makefile中生成“command not found”错误

Shell 外壳命令的返回值未分配给相应变量,并在Makefile中生成“command not found”错误,shell,makefile,Shell,Makefile,代码: 问题 应为PT分配grep命令计算的值。但是,它没有被赋值,我不知道为什么PT被视为命令而不是变量。当代码是shell脚本而不是Makefile时,答案是:删除等号周围的空格。并使用${PT},而不是$PT作为变量的值。你能在Makefile中检查一下这是否对你有帮助吗?@WalterA..不,它不起作用。这是食谱吗?你能给我们一个电话吗? PT = $(shell grep -oP '(?<=privilege name).*(?=/>)' $(basename $@).x

代码:

问题


应为PT分配grep命令计算的值。但是,它没有被赋值,我不知道为什么PT被视为命令而不是变量。

当代码是shell脚本而不是Makefile时,答案是:删除等号周围的空格。并使用${PT},而不是$PT作为变量的值。你能在Makefile中检查一下这是否对你有帮助吗?@WalterA..不,它不起作用。这是食谱吗?你能给我们一个电话吗?
PT = $(shell grep -oP '(?<=privilege name).*(?=/>)' $(basename $@).xml | grep -oP '(?<=").*(?=")')
echo $(PT)

ifeq($(PT),"public")
    echo "sachin has done it"
endif
PT = platform

make[1]: PT: Command not found