如何在Unix中删除核心文件?

时间:2019-07-07 21:31:13

标签: unix makefile

我需要在makefile文件中添加一个干净的命令,该命令会删除可能从程序中生成的核心文件。我的程序从未产生过任何核心文件,但无论如何我都需要将其添加到makefile中。

我看到某个地方可以做rm内核,但我一直在获取内核,因为文件或目录错误不存在。

example: example.c
        gcc -o example example.c
clean:
        -rm $(objects)  example

2 个答案:

答案 0 :(得分:4)

如果核心文件名为core,则只需执行rm -f core

如果文件不存在,-f选项告诉rm不要抱怨。 (它也告诉它继续进行操作,即使它不可写,也没有提示就将其删除。)

Makefile中,您可以:

clean:
        -rm -f $(objects)  example core

请注意,某些系统提供的核心文件名不只是coreman 5 core了解详情。

答案 1 :(得分:1)

如果要在删除文件时获得反馈,还可以执行以下操作:

# Clean core files only if they exists
clean:
    -rm -f $(objects)  example
    [ -e core ] && rm -v core

它基本上只是一个普通的bash命令,但是如果您不希望知道它是否已删除,那么Keith的答案是最好的:)