您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

您看到此行为的另一个常见地方是head。例如

$ seq 1 10000 | head -1
1

$ echo ${PIPESTATUS[@]}
141 0

在这种情况下,head读取第一行并终止,产生SIGPIPE信号并以seq退出141

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

其他 2022/1/1 18:14:06 有649人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶