git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: How to get bash to shut up about SIGPIPE?

From
Linus Torvalds <torvalds@osdl.org>
Date
Apr 30, 2005, 02:59 UTC
Message-ID
<Pine.LNX.4.58.0504291956030.2296@ppc970.osdl.org>
In-Reply-To
<20050429172235.21c1af10.pj@sgi.com>
On Fri, 29 Apr 2005, Paul Jackson wrote:
>
> > bash is being an ass about SIGPIPE
> 
> You have a multiprocessor, don't you.
Yes. 
> The following silly little shell script will provoke the bash SIGPIPE
> complaint reliably on a multiprocessor.
Yup:
	t: line 5:  3853 Broken pipe             cat /etc/termcap
	t: line 5:  3855 Broken pipe             cat /etc/termcap
Show 13 quoted lines
> Adding a right trap _inside_ the shell loop that is _before_ the pipe
> will reduce the verbosity of the complaint substantially (not show the
> line number and text for each command inside the loop that is killed by
> the SIGPIPE; rather just show the simple "Broken pipe" error message):
> 
> Code Sample 2:
> 
>     #!/bin/bash
>     for x in 1 2
>     do
> 	trap continue PIPE	# reduce broken pipe screeching
> 	cat /etc/termcap	# a big text file
>     done | sed 1q
Didn't change anything for me. Same thing.
> Then wrapping the entire pipeline (now that the bogus output is a
> constant "Broken pipe" string) in the following manner will filter out
> just that noise, leaving whatever else was on stdout and/or stderr
> unscathed:

It will also grep out any occurrence of "Broken pipe", so if we're talking about a kernel changelog, where we fix a pipe bug...

> Whether or not this is actually worth persuing (or was even worth
> reading ;) I don't know.

I don't know why the bash people have that stupid pipe reporting in the first place, considering that no other shell seems to do it, and everybody just wants to shut it up..

		Linus
Previous: Paul JacksonNext: Paul Jackson
Message 17 of 22 in “How to get bash to shut up about SIGPIPE?”
  1. Linus TorvaldsApr 28, 2005
  2. Rene ScharfeApr 28, 2005
  3. Linus TorvaldsApr 28, 2005
  4. Rene ScharfeApr 28, 2005
  5. Ryan AndersonApr 28, 2005
  6. Linus TorvaldsApr 28, 2005
  7. Herbert XuMay 1, 2005
  8. David A. WheelerMay 1, 2005
  9. Paul JacksonMay 2, 2005
  10. David A. WheelerMay 4, 2005
  11. Linus TorvaldsMay 4, 2005
  12. Herbert XuMay 4, 2005
  13. Edgar ToernigApr 28, 2005
  14. Linus TorvaldsApr 28, 2005
  15. Joshua T. CorbinApr 29, 2005
  16. Paul JacksonApr 30, 2005
  17. Linus TorvaldsApr 30, 2005
  18. Paul JacksonApr 30, 2005
  19. Rene ScharfeApr 30, 2005
  20. Paul JacksonMay 2, 2005
  21. Petr BaudisMay 2, 2005
  22. Paul JacksonMay 3, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.