You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

24 lines
531 B

#!/bin/bash
# function launch {
# exec 3>&1 1>&2 2>&3 ./useless.sh
# exec 3>&1 1>&2 2>&3
# }
function on_exit {
FAILURE=${1:-0}
[[ $FAILURE -gt 0 ]] && >&2 echo EXIT "$FAILURE"
trap - ERR TERM INT EXIT
}
export -f on_exit
{
myvar=$(bash -c "
set -TEue -o pipefail;
trap 'on_exit \$?' ERR TERM INT EXIT
. ./useless.sh
" 3>&1 1>&2 2>&3 | tee /dev/fd/4 | 3>&5 1>&2 2>&3 tee /dev/fd/5)
} 5>&1 4>&2 # magic trick: fd4 grabs stderr, then show up again on stderr
echo ----------
echo -e "stderr is:\n$myvar"