我有这个命令想要过滤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;'