====== A quick one, pt. 2 ====== In the last post (damn, has it been that long, again?), I wrote something about how to correctly handle ''tee''‘d output and return values in your bash scripts. If you want to capture //all// output of your script - as you should, because error messages always pop up in a place you did not expect them - you can use this construct: #!/bin/bash exec > >(tee -a logfile.txt) exec 2> >(tee -a logfile.txt >&2) This will write all output to the console //and// ''logfile.txt''. There is an artifact though, in that the output of the script appears //after// the new shell prompt. This is somewhat ugly, and gives the impression of a “hanging” script at first glance. If anyone knows a way around that, I would be happy to read about it in the comments (and update this post accordingly). Hopefully there will be time for a //topical// rant again some day.