小编典典

抑制makefile中命令调用的回声?

all

我为一个作业编写了一个程序,该程序应该将其输出打印到标准输出。分配规范需要创建一个 Makefile,当被调用时make run > outputFile应该运行程序并将输出写入一个文件,该文件具有与规范中给出的相同的 SHA1 指纹。

我的问题是我的makefile:

...
run:
     java myprogram

还将运行我的程序(例如 java myprogram)的命令打印到输出文件,以便我的文件包含导致指纹错误的额外行。

有没有办法在命令调用不回显到命令行的情况下执行命令?


阅读 59

收藏
2022-06-10

共1个答案

小编典典

添加@到命令的开头告诉 gmake 不要打印正在执行的命令。像这样:

run:
     @java myprogram

正如 Oli 所建议的,这是 Make 的一个特性,而不是 Bash 的特性。

另一方面,Bash 永远不会回显正在执行的命令,除非您明确告诉它这样做(即使用-x选项)。

2022-06-10