2016-11-19 20 views
1

私のメイクファイルには、次のようになります。makefileからのコマンド出力を抑制する方法は?

nstop: 
    @kill `cat ${APP_ROOT}/run/nginx.pid` ||: 

しかし、私はまだ出力を得る:

$ make nstop 
cat: /run/nginx.pid: No such file or directory 
/bin/sh: 1: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or 
kill -l [exitstatus] 

バックティックでコマンドからの出力を抑制するためにどのように?私が思うに、

nstop: 
    @kill `cat ${APP_ROOT}/run/nginx.pid 2>/dev/null` 2>/dev/null ||: 

をしかし、よりよい解決策があるはず:

答えて

1

私は/dev/nullにエラー出力をリダイレクトすることによってことを決議しています。

+1

これは疑問ではなく、疑問です。シェルでコマンドを実行するだけです。あなたのコマンドからの出力を知りません。単に終了コードをチェックするだけです。 '(kill' cat ... ')2>/dev/null'のように、テキストを()で少しシンプルにすることができます。少なくとも、リダイレクトは1回だけ書く必要があります。 – MadScientist

関連する問題