linux有判斷文件存在的函數(shù)嗎
Linux有判斷文件是否存在的函數(shù);該函數(shù)為makefile的wildcard函數(shù)。wildcard函數(shù)可以匹配文件列表,若不存在符合指定模式的文件,函數(shù)會(huì)返回空,語(yǔ)法為“$(wildcard PATTERN…)”。
程序員必備接口測(cè)試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測(cè)試工具
后端、前端、測(cè)試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux有判斷文件存在的函數(shù)嗎
linux有判斷文件存在的函數(shù)
使用makefile的wildcard函數(shù)
ifneq ($(wildcard FILE,) #文件存在 endif
$(wildcard FILE)的意思是當(dāng)前路徑下的FILE文件匹配的文件展開(kāi)。
假設(shè)當(dāng)前路徑下存在a.c 和 b.c,那么執(zhí)行src=$(wildcard *.c),src的值就為a.c b.c;
如果不使用通配符,比如src=$(wildcard c.c);那么就是要展開(kāi)當(dāng)前路徑下,文件名為c.c的文件,因?yàn)楫?dāng)前路徑下文件不存在,因此src為空字符串。
示例如下:
分別使用上述兩種方法判斷obj文件夾下depend.mk文件是否存在,存在的話創(chuàng)建a.c和b.c文件。
編寫(xiě)的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
執(zhí)行完后,成功創(chuàng)建了a.c和b.c。
推薦學(xué)習(xí):Linux視頻教程
以上就是linux有判斷文件存在的函數(shù)嗎的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!
版權(quán)聲明:
本站所有文章和圖片均來(lái)自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系網(wǎng)站客服處理。