所以我有一个 Makefile,其中有我试图理解的以下代码:
for file_exe in `find . -name "zip_exe-*"`; do \
./$${file_exe} -d $(UNZIP_PATH)/lib; \
done
据我了解,这段代码将尝试找到一些可执行的 zip 并将这些 zip 文件提取到某个位置。但令我困惑的是它是如何$${file_exe}
工作的。为什么$$
需要双倍?我想这与一些 bash 命令是从 makefile 运行的事实有关,但我无法向自己解释为什么$$
需要它并且一个简单的$
不起作用,因为这个命令无论如何都在运行一个子 shell。