Linuxカーネルをコンパイルするには、
make_runner.sh && echo "hello"
一部のカーネルのコンパイルが失敗しても、hello が印刷されます。
すべてのコンパイルターゲットが正しく構築されている場合にのみ印刷する方法はありますか?
make_runner.sh
次はどこですか?
#!/usr/bin/env bash
set -xe
make O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- vendor/citrus-perf_defconfig
make O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- -j$(nproc --all) 2>&1 | tee kernel.log
答え1
のパイプのため、tee
2番目のパイプの終了状態はmake
無視されます。
必要な動作を得るには有効にする必要があります。pipefail
:set -xe
行を次に変更します。
set -xe -o pipefail