Re: redirecting time output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Tue, Nov 23, 2010 at 05:04:09PM +0100, Rainer Traut wrote:
> Am 23.11.2010 15:30, schrieb m.roth@xxxxxxxxx:
> > Rainer Traut wrote:
> >> am trying to pipe output from time command and output from a shell
> >> script to the mail program.
> >> So far it's not working as expected...
> >>
> >> # time echo "test" 2>&1 | mail -s "timetest" my@xxxxxxxx

> >> The time command writes to stderror, but here the redirection seems to
> >> apply to the echo command?

> > Try `time echo "test"` etc. That way, it executes in a subshell, and has
> > one STDOUT and STDERR.

> Ok, yes this works.

The problem you're coming across is that "time" is a shell built-in and
not an external, so the shell is parsing "time foo 2>&1" as if it was
something similar to "time (foo 2>&1)".

The two common solutions are:
 1) explicitly use /usr/bin/time - eg
      /usr/bin/time -p foo 2>&1

 2) force a subshell - eg
      (time foo) 2>&1

-- 

rgds
Stephen
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos


[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux