In normal usage from the command line drush outputs http headers.
The attached patch stops this behavior and allows an override if the headers are desired.
command> drush status version Drush version : 3.3 command> WITH_HEADERS=true drush status version X-Powered-By: PHP/5.2.14 Content-type: text/html Drush version : 3.3
This should support the three cases of command line usage, cron usage, and web site usage.
The cron usage case eliminates the possibility of using the [ -t ] test for terminal connectedness.
Assumption is that command line and cron usage are the two primary use cases for drush. The WITH_HEADERS variable is not checked for value so it could be set to 1, true, xxx, false, anything and headers would be produced. The assumption is that headers are rarely if ever desired.
Note: Recommendations to add the '-q' option to the '/usr/bin/env php' interpreter line in drush.php do not work on all OS platforms.