linux有判斷檔案是否存在的函數;函數為makefile的wildcard函數。 wildcard函數可以匹配文件列表,若不存在符合指定模式的文件,函數會回傳空,語法為「$(wildcard PATTERN…)」。
本教學操作環境:linux7.3系統、Dell G3電腦。
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有判斷檔案存在的函數嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!