Make:使用 cat 将文件与换行符合并

Make: Use cat to merge files with linefeed

我正在为一些用 Markdown 编写的个人文档编写一个 makefile,并希望在构建时将所有文件合并在一起,这样我就不必在每次添加新文件时都编辑 Makefile。这是我的代码:

MERGE:
        @printf "Merging all files into one...\n"
        @cp .yaml tmp
        @for file in *.md;\
         do\
         cat $$file;\
         echo "";\
         done > tmp
        @mv tmp tmp.md

唉,每当我 运行 它,make returns 这和冻结:

Merging all files into one...
cat: 0: No such file or directory

我读到我可能正在调用 cat 作为文件?但是我使用了正确的 for 语法并将 $ 转义为 $$.

那我做错了什么?

您可以尝试以下循环:

for file in *.md; do
   cat "$file"
   echo ""
done >> tmp.md