我有一个包含此命令的makefile:
sed '/^$/d'
当我跑的时候,我得到了:
sed '/^d'
sed: -e expression #1, char 3: unterminated address regex
看起来它解释了美元符号,我该如何防止这种情况发生?
答案 0 :(得分:7)
您必须将配方中的所有美元符号加倍,否则请将它们视为引入make变量:
sed '/^$$/d'
如果您搜索“美元符号makefile”或类似内容,您几乎可以找到数十个甚至数百个答案。
答案 1 :(得分:0)
使用$$
,它变为$
。见Special Characters in a Makefile
生成文件:
sed '/^$$/d'
learts@Fastidio:~/tmp$ make
sed '/^$/d'