私が使用しているコードベースのMakefileの次のコマンドで感嘆符(および読み取り)の影響を理解しようとしています。
check-format:
! gofmt -s -l . | read;
! go run golang.org/x/tools/cmd/goimports -l . | read;
これらのコマンドは、Macや他のUNIXベースのシステムで実行されます。
Bashスクリプトの感嘆符に関する多くの質問は、歴史的な拡張のためのものであると言われています。しかし、上のMakefileの文脈では言葉にならないようです。
ここで何が起こっているのか理解し!
て伝えるのを手伝ってくれてありがとう。read
ありがとうございます!
ベストアンサー1
スチールドライバーとして推測するこれは Make 構成ではなくシェル構成です。パイプを通して渡すとread
内容のテストが提供され、これを否定すると無効性のテストが提供されます。
! command | read
command
出力が生成されない場合は成功します。
Makeを使用せずにこれを見ることができます。
! true | read; echo $?
! echo bar | read; echo $?