'uname -rims'
Linux 2.6.31.1-spott i686 AuthenticAMD
'bash --version'
GNU bash, version 4.0.24(1)-release (i686-pc-linux-gnu)
I have the following construct in a script:
... a number of commands
{
... a number of commands
} 2>&1 | ${prog_log} "${logfile}"
It seems anything inside the braces is not seen by bash, and it doesn't
show up in a "sh -x ..." trace, but ${prog_log} does. I had debug
echo's at the start of the block, they aren't triggered.
The shell options right before entering the block are:
cmdhist on
extglob on
extquote on
force_fignore on
hostcomplete on
interactive_comments on
progcomp on
promptvars on
sourcepath on
Removing the redirection makes it work:
... a number of commands
{
... a number of commands
} | ${prog_log} "${logfile}"
but it changes the semantics of my script and causes problems. I could
not isolate the offender, the construct works from the command line:
$ {
echo mist; echo mast >&2
} 2>&1 | cat -t
mist
mast
I do not even know how to debug or reproduce it in five lines ...
clemens