Makefileの各行を別々のシェルで実行するのはなぜですか?

Makefileの各行を別々のシェルで実行するのはなぜですか?

Makefileの各コマンドは、別々のシェルによって実行されます。

その理由は何ですか?コマンドが通常のスクリプトのように実行されないのはなぜですか?.ONESHELL特別なターゲットにシェルを使用することが可能であることを知っています。

しかし、基本的な動作の理由は何ですか?

ベストアンサー1

私は、その理由が間違った結果が発生した場合、通常「make」が停止するためだと思います。したがって、3つの個別のコマンドがある場合は、コマンド#1が失敗したらすぐに停止するのが賢明かもしれません。

おすすめ記事