チェーンチューブ&&&

チェーンチューブ&&&

make出力をフィルタリングする次のコマンドがあります。

cd /app && make && sudo nginx -g 'daemon off;'

ここに挿入する正しい方法は何ですかmake | pv -q -L 100

答え1

問題は確認する終了状態ですpv。 POSIXsh構文を使用すると、次のことができます。

cd /app && ((make 3>&- && exec sudo nginx -g 'daemon off;' >&3 3>&-) | pv -qL 100) 3>&1

またはksh/ bash/を使用してくださいzsh

(set -o pipefail
cd /app && make | pv -qL 100 && sudo nginx -g 'daemon off;')

または以下を使用してzsh

cd /app && make | pv -qL 100 && ((!pipestatus[1])) && sudo nginx -g 'daemon off;'

または以下を使用してbash

cd /app && make | pv -qL 100 && ((!PIPESTATUS[0])) && sudo nginx -g 'daemon off;'

関連情報