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。

linux有判斷文件存在的函數嗎

推薦學習:Linux視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享