问题是,furl
未从file
变量中获得赋值。如果我使用纯文本而不是$$file
,它可以工作。我不知道为什么这不起作用。Makefile目标:无法从循环中分配变量
的Makefile:
test:
@for file in $(shell pwd)/demo/*; do \
$(eval furl := $(shell echo $$file)) \
echo $(furl); \
done
Im相当肯定这应该是很容易解决,但我无法找到一个解决方案。有任何想法吗?
我使用最新的lubuntu操作系统。
感谢您的回复。我需要使用文件名和文件目录进行进一步的操作。主要任务是只提取没有外部文件名的文件名并将其打印到屏幕上。我需要做进一步的操作,比如根据文件名和目录创建新文件。理想情况下,我会使用'$ file_name_no_ext'和'$ file_dir'变量 –
起初我尝试使用简单的'$(furl)= $$ file;'赋值。它实际上赋值给变量,但是我得到''/ bin/sh:3:=:not found' –
你可以在没有'make'设施的情况下做到这一点,例如。 'base = \'basename $$ file''(我建议在一个单独的shell脚本中执行以避免'$$'和'\\ n'转义)。 –