Heim > Artikel > Betrieb und Instandhaltung > Verfügt Linux über eine Funktion, um die Existenz einer Datei festzustellen?
Linux verfügt über eine Funktion, um festzustellen, ob eine Datei vorhanden ist. Diese Funktion ist die Platzhalterfunktion des Makefiles. Die Platzhalterfunktion kann mit der Dateiliste übereinstimmen, wenn keine Datei vorhanden ist, die dem angegebenen Muster entspricht, gibt die Funktion leer zurück und die Syntax lautet „$(Platzhaltermuster...)“.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
Linux verfügt über eine Funktion zum Bestimmen der Existenz einer Datei
Verwenden Sie die Wildcard-Funktion des Makefiles
ifneq ($(wildcard FILE,) #文件存在 endif
$(Wildcard FILE) bedeutet Erweitern Die Datei, die mit der FILE-Datei unter dem aktuellen Pfad übereinstimmt.
Gehen Sie davon aus, dass a.c und b.c im aktuellen Pfad vorhanden sind, und führen Sie dann src=$(wildcard *.c) aus. Der Wert von src ist a.c b.c;
Wenn Sie keine Platzhalter wie src=$(wildcard verwenden c.c); dann müssen Sie die Datei mit dem Namen c.c unter dem aktuellen Pfad erweitern. Da die Datei unter dem aktuellen Pfad nicht existiert, ist src eine leere Zeichenfolge.
Das Beispiel sieht wie folgt aus:
Verwenden Sie die beiden oben genannten Methoden, um festzustellen, ob die Datei depend.mk im Ordner obj vorhanden ist, erstellen Sie a.c- und b.c-Dateien.
Das geschriebene Makefile lautet wie folgt:
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
Nach der Ausführung wurden a.c und b.c erfolgreich erstellt.
Empfohlenes Lernen: Linux-Video-Tutorial
Das obige ist der detaillierte Inhalt vonVerfügt Linux über eine Funktion, um die Existenz einer Datei festzustellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!