我正在为用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
A,每当我运行它时,make
都会返回并冻结:
Merging all files into one...
cat: 0: No such file or directory
我已经读到我可能正在将cat
称为文件?但是我使用的是正确的for
语法,并将$
转义为$$
。
那么我在做什么错了?
答案 0 :(得分:1)
您可以尝试以下循环:
for file in *.md; do
cat "$file"
echo ""
done >> tmp.md