在 Makefile 中,如果路径存在,则分配路径变量相关 II
我刚刚得到了帮助在Makefile中如果路径存在则分配路径变量相关< /a> 如果条件为真,则 var 的设置可以正常工作。
INFORMIXDIR=$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix )
因此,我连续执行了两个可能的条件
INFORMIXDIR=$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix )
INFORMIXDIR=$(shell test -d /usr/informix && echo /usr/informix )
,但如果条件为 false,shell 命令会返回 null,因此它会再次取消设置,因此它不会在第一个条件为 true 的系统上工作。
有时 INFORMIXDIR 已经在 shell 环境中设置,因此最好也考虑这一点。
I just was helped In Makefile assign path variable dependent if path exists and setting of the var works fine if the condition is true.
INFORMIXDIR=$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix )
So I did both possible conditions in a row
INFORMIXDIR=$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix )
INFORMIXDIR=$(shell test -d /usr/informix && echo /usr/informix )
but the shell command returns kind of null if the condition is false so it's unset again, so it won't work on the system where the first condition is true.
Sometimes INFORMIXDIR is already set in shell environment, so it would be nice to consider this too.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以更改为
$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix || echo )
吗?或者使用一些后备值并在之后检查它:$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix || echo notset )
Could be changed to
$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix || echo )
? Or use some fallback value and check for it after:$(shell test -d /opt/IBM/informix && echo /opt/IBM/informix || echo notset )