linux有判断文件存在的函数吗

linux有判断文件是否存在的函数;该函数为makefile的wildcard函数。wildcard函数可以匹配文件列表,若不存在符合指定模式的文件,函数会返回空,语法为“$(wildcard PATTERN…)”。

linux有判断文件存在的函数吗

本教程操作环境:linux7.3系统、Dell G3电脑。

linux有判断文件存在的函数吗

linux有判断文件存在的函数

使用makefile的wildcard函数

ifneq ($(wildcard FILE,)
#文件存在
endif

$(wildcard FILE)的意思是当前路径下的FILE文件匹配的文件展开。

假设当前路径下存在a.c 和 b.c,那么执行src=$(wildcard *.c),src的值就为a.c b.c;

如果不使用通配符,比如src=$(wildcard c.c);那么就是要展开当前路径下,文件名为c.c的文件,因为当前路径下文件不存在,因此src为空字符串。

示例如下:

分别使用上述两种方法判断obj文件夹下depend.mk文件是否存在,存在的话创建a.c和b.c文件。

编写的makefile如下:

OBJ_DIR=obj
fileNames = $(wildcard $(OBJ_DIR)/depend.mk)
all:
@echo "this is all "
@echo ${fileNames}
@if [ -e $(OBJ_DIR)/depend.mk ]; then touch b.c; fi
ifneq ($(wildcard $(OBJ_DIR)/depend.mk),)
touch a.c
endif

执行完后,成功创建了a.c和b.c。

32.png

推荐学习:Linux视频教程

以上就是linux有判断文件存在的函数吗的详细内容,更多请关注https://www.sxiaw.com/其它相关文章!