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.
34 lines
960 B
34 lines
960 B
#!/bin/bash
|
|
|
|
function on_exit {
|
|
code=${1:-0}
|
|
# exec 3>&1 1>&2 2>&3
|
|
# exec 1>&- 3>&- 2>&-
|
|
# exec 2> >(tee /dev/stderr)
|
|
trap - ERR TERM INT EXIT
|
|
# exec 2>&-
|
|
# exec 1> >(tee -ap /dev/stdout) 2>&- 3> >(tee -ap /dev/stderr)
|
|
# exec 2>&- 3>&-
|
|
# echo CLOSE OPEN PIPE suite
|
|
count=$(wc -c stderr | cut -d' ' -f1)
|
|
content=$(head -qc$count stderr)
|
|
>&4 echo "DETECTED0: [$content]"
|
|
>&4 echo ON_EXIT2 ${code}
|
|
}
|
|
|
|
set -TEue -o pipefail
|
|
trap 'on_exit $?' ERR TERM INT EXIT
|
|
# exec 2>stderr 3> >(tee -ap /dev/stderr)
|
|
[[ -f stderr ]] && rm stderr
|
|
# exec 1> >(tee -p /dev/stdout) 2> >(tee stderr | tee -p /dev/stderr) 3> >(tee -p /dev/stderr)
|
|
# exec 2> >(tee stderr | tee -p /dev/stderr) # 3> >(tee -p /dev/stderr)
|
|
# exec 3> >(tee stderr | tee -p /dev/stderr) 2>&3
|
|
# exec 3> >(tee stderr) 2>&3-
|
|
# exec 2> >(tee stderr)
|
|
exec 3>stderr 4>/dev/stderr
|
|
source ./useless.sh 2>&3
|
|
exec 3>&- 4>&-
|
|
>&2 cat stderr
|
|
trap - ERR TERM INT EXIT
|
|
echo --END1
|
|
>&2 echo --END2
|