Makefile while 循环

dav*_*dav 2 bash templates makefile while-loop

即使将 SHELL 设置为 bash 而不是 sh,以下操作也不起作用:

doc:
    while read line; do \
      eval echo "$$line" > $(DOC) \
    done < $(DOC).templ

/bin/bash: -c: line 3: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)

我想要做的是有一个模板文件,其中包含 bash 参数理解等 ( $(), ${}) 并在编译时“构建”它。有一个更好的方法吗?

hlo*_*dal 5

您在完成之前缺少分号:

doc:
    while read line; do \
      eval echo "$$line" > $(DOC); \
    done < $(DOC).templ
Run Code Online (Sandbox Code Playgroud)