W muszli, kiedy wchodzę
echo $demoPath
drukuje
/usr/local/demo
Jak mogę uzyskać wartość tej zmiennej $demoPath
w pliku makefile?
Jeśli wyeksportowałeś zmienną środowiskową:
export demoPath=/usr/local/demo
możesz po prostu odwołać się do niego po nazwie w makefile
( make
importuje wszystkie ustawione zmienne środowiskowe):
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
Jeśli nie wyeksportowałeś zmiennej środowiskowej, nie będzie ona dostępna, dopóki jej nie wyeksportujesz lub jeśli nie przekażesz jej jawnie w wierszu poleceń:
make DEMOPATH="${demoPath}" …
Jeśli używasz pochodną C Shell, substytut setenv demoPath /usr/local/demo
dla export
komendy.
demoPath=/usr/local/demo make
. Możesz to przetestować i zaktualizować swoją odpowiedź. Twoje zdrowie!dla tych, którzy chcą jakiegoś oficjalnego dokumentu potwierdzającego zachowanie
https://www.gnu.org/software/make/manual/html_node/Environment.html
źródło
Lub zmień PATH tylko dla jednego polecenia:
źródło