2012-02-17 8 views
0

の出力をフラッシュする方法を私はまだ、その後ouputを表示しdiff abc def 2 >/dev/nullを行う場合、私はデフは差分

の出力に含まを避けることができますどのようにこの

diff abc def 

if [ "$?" -eq "0" ]; then   

    make modules_install 

enif 

ようなスクリプトの何かを持っています。

+0

diff abc def>/dev/null – user79292

+0

makeを実行するかどうかを決定するためにdiffを使う必要はありません。 'make'コマンドは、最終ビルドターゲットのすべてのコンポーネントをテストして、コンポーネントが最新であるかどうかを確認するように設計されています。新しいものがあれば、makeは最終オブジェクトを最新にするのに必要な最小限のコードの再構築を制御します。依存関係が何であるかをmakeに伝えるためにmakefileを使用しています。 gmake docを見てください。がんばろう。 – shellter

答えて

1

stdoutとstderrをリダイレクトする必要があります。

if diff abc def > /dev/null 2>&1; then 
    make modules_install 
fi 

注:あなたはファイルが、その後if文が良いだろう、同じである場合、複数のことを行う必要がある場合

diff abc def > /dev/null 2>&1 && make modules_install 

:あなたは、次を使用することができた場合の終了コードが0の場合、シェルのテストではtrueと見なされます。