1. ホーム
  2. linux

[解決済み】makefileでコマンド起動時のエコーを抑止する?

2022-04-09 12:55:49

質問

ある課題で、出力を標準出力に出力するプログラムを書きました。課題の仕様では、Makefile を作成する必要があります。 make run > outputFile プログラムを実行し、仕様で指定されたものと同じ SHA1 フィンガープリントを持つファイルに出力を書き込む必要があります。

私の問題は、私のメイクファイルです。

...
run:
     java myprogram

は私のプログラムを実行するコマンド (例えば java myprogram) を出力ファイルに出力するので、私のファイルにはこの余分な行が含まれ、フィンガープリントは間違っていることになります。

コマンドの呼び出しがコマンドラインにエコーされることなく、コマンドを実行する方法はありますか?

解決方法を教えてください。

追加 @ をコマンドの先頭に追加すると、実行中のコマンドを表示しないよう gmake に指示します。こんな感じ。

run:
     @java myprogram

Oliが提案したように、これはMakeの機能であってBashの機能ではありません。

一方、Bashは明示的に指示しない限り、実行中のコマンドをechoすることはありません(例. -x オプション)。