Makefile与shell命令的运行方式不同吗? (使用猫时)

问题描述 投票:0回答:1

我正在尝试将运行命令手动转换为Makefile目标,但出现与我使用cat有关的错误。我想我正在尝试打开文件“ cat”,而不是cat创建实际文件...

queries.sql : clean
    ls ./sql/**/*.sql | sort -V | while read fn ; do (cat "${fn}"; echo; echo) >> queries.sql; done
clean :
    rm -f queries.sql;

单独运行ls命令效果很好,但是有了我刚刚得到的Makefile,>

cat: : No such file or directory
cat: : No such file or directory
cat: : No such file or directory
cat: : No such file or directory
cat: : No such file or directory
cat: : No such file or directory
...

我是新手,所以可能很简单。另外,我相信没有cat的方法也可以做到这一点?

编辑:

哦和sql脚本带有日期前缀,即2020-01-02,所以我想按ls -V的顺序对文件名进行排序。

我正在尝试将一个运行命令手动转换为Makefile目标,但出现与使用cat有关的错误。我想我正在尝试打开文件“ cat”,而不是为实际文件添加内容... ...

makefile
1个回答
2
投票

这可能是最近几天最常问到的关于make的问题。

$字符是特殊字符,因此,如果要将$传递到外壳,则必须使用$$对其进行转义。

© www.soinside.com 2019 - 2024. All rights reserved.