On 03/11/2016 13:53, Radim Krčmář wrote: > 2016-11-03 13:38+0100, Paolo Bonzini: >> On 02/11/2016 22:05, Andrew Jones wrote: >>> On Wed, Nov 02, 2016 at 09:50:29PM +0100, Radim Krčmář wrote: >>>> Not doing so hid stderr output when the test was stuck and subsequently >>>> killed with ^C. >>>> >>>> Signed-off-by: Radim Krčmář <rkrcmar@xxxxxxxxxx> >>>> --- >>>> scripts/arch-run.bash | 3 +-- >>>> 1 file changed, 1 insertion(+), 2 deletions(-) >>>> >>>> diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash >>>> index 8e75c6ed6e17..326f59484e2b 100644 >>>> --- a/scripts/arch-run.bash >>>> +++ b/scripts/arch-run.bash >>>> @@ -30,12 +30,11 @@ run_qemu () >>>> >>>> # stdout to {stdout}, stderr to $errors >>>> exec {stdout}>&1 >>>> - errors=$("${@}" 2>&1 1>&${stdout}) >>>> + errors=$("${@}" 2> >(tee >(cat) >&2) 1>&${stdout}) >> >> What about: >> >> # preserve stdout and stderr output, but save stderr to $errors >> exec {stdout}>&1 {stderr}>&2 >> errors=$("$@" 2> >(tee /dev/fd/$stderr) > /dev/fd/$stdout) >> exec {stdout}>&- {stderr}>&- >> >> (Tested in the shell but not in arch-run.bash). > > Using files looks nicer, but is there a problem in the redirection? > I would rather use /dev/stderr or /dev/fd/2 directly if not. > > i.e. > exec {stdout}>&1 > errors=$("$@" 2> >(tee /dev/stderr) > /dev/fd/$stdout) > exec {stdout}>&- Yes, this works too. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html