Hi all. A recent problem (xorg build attempting to overwrite fontconfig configuration files) led me to investigate further. I believe the problem arises because I'm attempting to use the routine improperly.
The build script calls three functions configure_commands(), make_commands() and install_commands(). This is cool. However they are called thus { function 3>&1 1>&2 2>&3 | tee function.err ; } &> function.log I read this is as in the current shell '{}' call function redirecting stderr from the function to function.err, and both stderr and stdout to function.log. However, the bash man page states: 'Each command in a pipeline is executed as a separate process (i.e., in a subshell). ' This is NOT a problem, unless one of the functions sets a variable, or cd's to a directory (typically in the configure_commands function, the way I use it at least), and the variable needs to be accessible later, or later commands need to be executed in the new directory. I'm attempting to find a similar construct which will execute in the current shell (no pipe to tee). In the meantime, if anyone could inform me as to where I'm going wrong, I would be grateful. I would like to log *all* the build commands, with the current methodology (stderr -> file.err and stdout+stderr -> file.log). Otherwise, the easy solution for me is to place any such commands outside the function call group commands (if you catch my drift) -- Serenity through viciousness. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page