~ bash --version
GNU bash, version 3.2.51(1)-release (sparc-sun-solaris2.10)
Copyright (C) 2007 Free Software Foundation, Inc.
The following command works as expected:
~ ls hdfhdfhdhfd 2> >(wc -l)
1
... but this doesn't work, and I'm running out of ideas to figure out why:
~ truss -eaf bash -c 'true' 2> >( some command to process text)
The command inside the >()
ends up blocking waiting for input.
If I do this instead:
~ (true; truss -eaf bash -c 'true') 2> >( some command )
... it works as expected, though this doesn't work:
~ ( truss -eaf bash -c 'true') 2> >( some command )
# ^^^^^ ... note the 1st command is missing
If I make some command
= dd bs=1
, it consumes and prints all text truss would've spat out on stderr
, then blocks.
I cannot reproduce similar behavior in Linux, only when using truss
in solaris.