首頁  >  文章  >  運維  >  linux有判斷檔案存在的函數嗎

linux有判斷檔案存在的函數嗎

WBOY
WBOY原創
2022-05-23 18:12:052454瀏覽

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影片教學

#

以上是linux有判斷檔案存在的函數嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn