You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Makefile中如何正确删除文件名包含$符号的文件

问题原因

Makefile 中$是用于变量引用的特殊保留字符,你编写的ch2$Node.class里的$N会被Makefile识别为读取名为N的变量,当N未定义时会被替换为空值,因此实际执行的命令里$直接丢失,变成ch2Node.class。单反斜杠转义仅对shell生效,不会被Makefile的变量解析阶段识别,因此无效。

解决方案

  • 方案一:使用两个$完成转义,Makefile语法中$$会被解析为单个普通$字符,修改后的规则如下:
clean:
      rm -f ch2$$Node.class
  • 方案二:额外用单引号包裹文件名,避免shell层面也触发变量展开,兼容性更强:
clean:
      rm -f 'ch2$$Node.class'

内容的提问来源于stack exchange,提问作者RichS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:39:01