为什么用grep -q退出代码141?

为什么用grep -q退出代码141?,第1张

为什么用grep -q退出代码141?

这是因为

grep-q
一旦找到匹配项,就会立即以零状态退出。该
zfs
命令仍在写入管道,但是没有读取器(因为
grep
已退出),因此它
SIGPIPE
从内核发送了信号,并且退出,状态为
141

您看到此行为的另一个常见地方是

head
。例如

$ seq 1 10000 | head -11$ echo ${PIPESTATUS[@]}141 0

在这种情况下,

head
读取第一行并终止,产生
SIGPIPE
信号并以
seq
退出
141

请参阅《Linux程序员指南》中的“臭名昭著的SIGPIPE信号 ”。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5018834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存