这是因为
grep-q一旦找到匹配项,就会立即以零状态退出。该
zfs命令仍在写入管道,但是没有读取器(因为
grep已退出),因此它
SIGPIPE从内核发送了信号,并且退出,状态为
141。
您看到此行为的另一个常见地方是
head。例如
$ seq 1 10000 | head -11$ echo ${PIPESTATUS[@]}141 0
在这种情况下,
head读取第一行并终止,产生
SIGPIPE信号并以
seq退出
141。
请参阅《Linux程序员指南》中的“臭名昭著的SIGPIPE信号 ”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)