ホームページ  >  記事  >  運用・保守  >  Linuxにはファイルの存在を判定する機能はありますか?

Linuxにはファイルの存在を判定する機能はありますか?

WBOY
WBOYオリジナル
2022-05-23 18:12:052457ブラウズ

Linux にはファイルが存在するかどうかを判断する機能があり、この機能は Makefile のワイルドカード関数です。ワイルドカード関数はファイル リストと一致します。指定されたパターンに一致するファイルがない場合、関数は空を返し、構文は "$(wildcard PATTERN...)" になります。

Linuxにはファイルの存在を判定する機能はありますか?

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux にはファイルの存在を判断する機能がありますか?

Linux にはファイルの存在を判断する機能があります

makefile

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 は空の文字列です。

例は次のとおりです:

上記 2 つの方法を使用して、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。