zsh-workers
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@brasslantern.com>
To: Wayne Davison <wayned@users.sourceforge.net>,
	Zsh hackers list <zsh-workers@sunsite.dk>
Subject: Re: Piping stderr (was Re: Two bug reports)
Date: Sat, 23 Mar 2002 22:45:14 +0000	[thread overview]
Message-ID: <1020323224514.ZM29171@candle.brasslantern.com> (raw)
In-Reply-To: <Pine.LNX.4.33L2.0203231307490.19000-100000@phong.blorf.net>

On Mar 23,  1:18pm, Wayne Davison wrote:
}
} I'm wondering if it would be nice to create a syntax for piping just
} stderr?

You mean, other than `2>>(...)'?

} We already have "|&" for piping both stdout and stderr

Hmm.  `|&' is short for `2>&1 |'.  What would the new syntax be short
for?  The problem being that in order to pipe "just stderr" you have
to dispose of stdout somehow.

The proposed new syntax could be short for `2>&1 >&- |' but then you
may get "bad file descriptor" because of the closed stdout.

Or it could be short for `2>&1 >/dev/null |' except that in the case
of MULTIOS that doesn't redirect stdout, it duplicates it to both
/dev/null and the pipe; we'd at the least have to document as we do
for `>&' that the effect of MULTIOS is subverted.  Plus, some platforms
don't have a /dev/null (zsh does compile for DOS, sort of).

The same problem with MULTIOS occurs with `3>&2 2>&1 1>&3 |'.

} What do you think about using "2|&"?  Or maybe "2>|&"

Of those, it'd have to be the latter, which is currently a parse error.
The issue is really one of syntactic cleanliness; `|', `&', and `|&'
are all command separators, whereas redirections such as `2>&1' are
part of the command itself.  That's why `2>&1 |' works differently
than `2>&1 >'.  The grammar gets a bit ugly if you make something that
starts with a digit into a command separator.

} Do any other shells have a syntax for this?

Not that I know of.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   


  reply	other threads:[~2002-03-23 22:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-22 12:24 Two bug reports: alias/function disagreements; incorrect redirection David Hughes
2002-03-22 12:41 ` Peter Stephenson
2002-03-23 21:18   ` Piping stderr (was Re: Two bug reports) Wayne Davison
2002-03-23 22:45     ` Bart Schaefer [this message]
2002-03-23 23:47       ` Multios again (Re: Piping stderr (was Re: Two bug reports)) Bart Schaefer
2002-03-24  9:01       ` Piping stderr (was Re: Two bug reports) Wayne Davison
2002-03-24 16:47         ` Borsenkow Andrej
2002-03-24 19:02           ` Bart Schaefer
2002-03-24 19:09             ` Bart Schaefer
2002-03-24 19:50             ` PATCH: (Doc) " Bart Schaefer
2002-03-25  0:17             ` Wayne Davison

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1020323224514.ZM29171@candle.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --cc=wayned@users.sourceforge.net \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).