linux shell ifeq,Makefile 中 ifeq ifneq 等用法
(1)ifeq的用法
ifeq ($(变量名), 变量值 )
........
else ifeq ($(..), ..)
.........
else
.........
endif
(2)最近在学习makefile的过程中遇到需要用ifeq进行逻辑与判断,但是ifeq并没有像其他编程语言那样有 逻辑或(||) 逻辑与(&&) 的符号可用。这时候需要变通一下。
1)逻辑与变通实现:
举例说明:比如需要判断两个变量 VALUE1 和 VALUE2 的值都存在才执行某个动作,这需要逻辑与的判断
C语言的逻辑: if ( VALUE1 && VALUE2){
do something....
}
没有&&符号,我们可以这样变通:将两个变量链接起来再判断
ifneq ($(VALUE1)$(VALUE2),)
do something....
endif
如果变量 VALUE1 和 VALUE2 都有具体的值,比如需要进行这样的判断: VALUE1 == V1 && VALUE2 == V2, 可以按如下的写法;
ifeq ($(VALUE1)_$(VALUE2), V1_V2) ### 当然中间的下划线 "_" 可以用其他字符代替
do something....
endif
2) 逻辑或变通实现,同样是上面的两个变量
if( VALUE1 == V1 || VALUE2 == V2 ) {...} 可以用findstring函数做如下变通实现:
#如果VALUE1或者VALUE2为V1或V2,则findstring 不会返回空。
ifneq ($(findstring $(VALUE1)$(VALUE2), V1 V2),)
do something...
endif
参考:https://blog.csdn.net/u010312436/article/details/52459609
linux shell ifeq,Makefile 中 ifeq ifneq 等用法相关推荐
- linux dd devzero,makefile中ifeq与ifneq dev/null和dev/zero简介 dd命令
ifeq语法是ifeq ";" ";" ,功能是比较参数"arg1"和"arg2"的值是否相同,相同时为1 ifneq ...
- linux shell ifeq,Makefile中的ifeq 多条件使用
Makefile中的ifeq 多条件使用 网上关于makefile中ifeq的介绍已经很多了,为什么我还要在写这篇文章,因为他们只说了if else两种条件的情况,并没有讲多于两种条件情况的使用. 多 ...
- Linux shell去除字符串中所有空格
Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g' 转载于:https://www.cnblogs.com/yjd_hycf_space/p/9839494. ...
- Linux Shell脚本入门--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...
- MakeFile中ifeq语法报错
/bin/sh: -c: line 0: syntax error near unexpected token `64,' /bin/sh: -c: line 0: `ifeq (64, 64)' [ ...
- Linux学习笔记-Makefile中的变量及函数
Makefile中的变量 此处的变量不是C/C++,Java等中的变量(认为他是一个字符串就阔以了) 一般变量名用大写字母来写,如下所属: SUBDIR = src xml SUBDIR += osa ...
- linux shell 从变量中按指定字符切割字符串
#切割dmgeo-system-service__DM01-DEV__FWAA01Aline=dmgeo-system-service__DM01-DEV__FWAA01Aservice_name=$ ...
- linux shell读取配置文件中的内容
文章目录 1. 创建conf文件夹 2. 创建sftp_conn.conf文件 3. 编写读取文件的脚本 4. 赋予脚本可执行权限 5. 执行脚本 6. 获取的信息 7. 利用这种方式 举一反三 读取 ...
- linux gcc ldl,Makefile 中gcc -lm -ldl是什么意思?
gcc -lm -ldl是什么意思?----包含动态链接库 到书上出现gcc -lm 的选项,甚是不解,在网上查阅了一些资料,访问了一些论坛整理下. 初学linux和gcc,C代码调用math.h中的 ...
最新文章
- 2020 诺贝尔奖「第一棒」:英美三位科学家摘得桂冠!
- str 类常用的函数
- 【视频课】如何掌握好深度学习之视频分类与行为识别?这一门课足矣!
- Apache Dubbo 被曝出“高危”远程代码执行漏洞
- concurrent 底层_万字长文!从底层开始带你了解并发编程,彻底帮你搞懂Java锁!
- 全国计算机等级考试和职称考试题库,全国职称计算机等级考试题库及答案
- 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)
- std c++ 获取运行时间封装
- 没有月亮的中秋,有CCNP伴我度过!
- [实验]一个小的局域网
- 人工智能-动物识别专家系统(pyqt5)
- TYVJ1288 飘飘乎居士取能量块 -SilverN
- 决策树案例学习(Python实现)
- 爬虫-东北林业大学校内-中国[哈尔滨]森林博物馆-爬取所有馆藏蝴蝶图片
- 1109: 方块消除 blocks
- 智慧养老的发展形势及智慧养老热点、痛点、难点
- 解决安装pycrypto时的各种问题/安装失败
- 如何邀请好友注册您的网站(模拟百度网盘)
- matlab绘制频率响应特性曲线,MATLAB环境下频率响应曲线的绘制方法
- 关于nginx报错/usr/share/nginx/html/jiankongshare failed (2: No such file or directory)的问题解决...