Hi.
In an attempt to capture the output of 'time' I used the process substitution
and noticed that the subshell also prints its times. Actually I this happens
when I redirect any fd, not just stderr.
#!/bin/bash
time {
sleep 0.25
exec 6> >(
sed 's/^/captured: /'
exit 0
)
}
# close write side of the pipe and wait for reader
exec 6>&-
wait $!
Output:
real 0m0.252s
user 0m0.001s
sys 0m0.001s
real 0m0.259s
user 0m0.003s
sys 0m0.002s
Bash version 4.4.19, Arch64.
Earlier bash versions just print: wait: pid 28717 is not a child of this shell