我想知道变量CHAPTER是否包含空格。我试图使用findstring但没有成功:
CHAPTER=default
new:
ifeq (" ",$(findstring " ",$(CHAPTER)))
$(error Variable contains space)
else
echo "variable ok"
endif
这段代码说“变量确定”,而我希望相反。
我做错了什么?
我该怎么办?
答案 0 :(得分:3)
使用words
function测试变量值是否为单个词:
ifneq (1,$(words [$(CHAPTER)]))
# Things are bad...
endif
注意方括号,它也有助于检测前导/尾随空格。
另一个选择是定义一个变量,其值中包含一个空格,并搜索目标变量的出现次数。
space :=
space +=
ifneq (,$(findstring,$(space),$(CHAPTER)))
# Things are bad...
endif