关于ifdef

本文深入探讨了ifdef命令在Shell脚本中的应用,通过实例展示了如何利用ifdef来判断变量是否存在,并进一步理解其在脚本开发中的重要性。文章详细分析了ifdef与ifneq的区别,提供了在实际项目中有效运用ifdef的技巧。
摘要由CSDN通过智能技术生成
ifdef <variable-name>
如果变量<variable-name>的值非空,那到表达式为真。否则,表达式为假。当然,<variable-name>同样可以是一个函数的返回值。注意,ifdef只是测试一个变量是否有值,其并不会把变量扩展到当前位置。还是来看两个例子:
示例一:
bar =
foo = $(bar)
ifdef foo
frobozz = yes
else
frobozz = no
endif
示例二:
foo =
ifdef foo
frobozz = yes
else
frobozz = no
endif

第一个例子中,“$(frobozz)”值是“yes”,第二个则是“no”。


总结:

ifdef只看foo 是否有值,而不会再去推bar是不是等于空
foo=$(bar)
foo有值就行了,他并不会知道bar是空的


如果想判断推导出的bar是否也为空,就需要用到ifneq

ifneq ($(strip $(foo)),)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值