如何解决如何比较条件赋值中的字符串?
很难理解this official guide ...如何检查字符串条件吗?
This assign is working fine,but is ugly:
x := $$( if [ $(HOME) = "/root" ]; then echo "IS ROOT"; else echo "IS OTHER"; fi )
这不起作用:
ifeq ($(HOME),"/root")
x = "IS ROOT"
else
x = "IS OTHER"
endif
make --version
说:
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
解决方法
撰写时:
ifeq ($(HOME),"/root")
您正在使用表单(引用的文档中):
ifeq (arg1,arg2)
,并且arg1
设置为$(HOME)
,而arg2
设置为"/root"
。假设HOME
变量设置为路径/root
。
因此,make将/root
与"/root"
进行比较。这些是相同的字符串吗?否:一个引号引起来,因此它们不是同一字符串。
您要使用:
ifeq ($(HOME),/root)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。