Ich versuche, eine einfache Makefile zu schreiben, die im folgenden ähneln:Shell Commend nicht für erstes Mal arbeitet
all:
mkdir -p /home/developer/data/test/ && \
cp /home/developer/data/sample.txt /home/developer/data/test/ && \
export FILEPATH=$(dir $(shell find /home/developer/data/test/ -type f -name sample.txt)) && \
echo $$FILEPATH
Als ich zum ersten Mal Echo ausführen mache null ist (das heißt nichts gedruckt werden). Aber wenn ich denselben ausführe, ohne den Verzeichnistest zu entfernen, wird es den richtigen Pfad für Echo drucken.
Aber sobald Sie das Testverzeichnis wieder entfernen und machen Echo ist Null.
Was mache ich hier falsch?
Ich denke, es sollte '$ FILEPATH' mit Single' $ 'sein, nicht zwei' $$ 'wie du hast – Entea
@Entea Dies ist in einem Make-Rezept. Das doppelte '$$' ist korrekt. –