[kwlug-disc] Capturing output in scripts

William Park opengeometry at yahoo.ca
Thu Aug 21 14:59:22 EDT 2014


1. Upgrade Vim
2. Use 'exec' builtin.
-- 
William

On Thu, Aug 21, 2014 at 12:35:35PM -0400, Khalid Baheyeldin wrote:
> For years I have been using the following technique to capture output
> (stdout and stderr), for emailing the results.
> 
> (
> command
> command
> if [ ....
>   command
> else
>   command
> fi
> ...
> ) 2>&1 > /tmp/logfile
> 
> Basically, the () is a subshell, and its output is captured.
> 
> Then the logfile can be kept or sent via email from the same script, often
> conditionally if there are errors e.g.:
> 
> mail -s "script output" me at example.com < /tmp/logfile
> 
> The only thing that is annoying is that vim syntax highlighting gets thrown
> off for the stuff in between the ().
> 
> Anyone knows of a way around this? Either alternates to capturing output
> 
> I thought about the script command:
> 
> script -c myscript /tmp/logfile
> 
> But then I have to break every script into two files, one a wrapper that
> runs the real script and emails its output and the script proper itself.
> Also, it annoyingly captures everything like terminal escape codes and such.
> 
> Another approach is to fix vim syntax highlight, but I don't know how.
> 
> Any ideas?
> -- 
> Khalid M. Baheyeldin
> 2bits.com, Inc.
> Fast Reliable Drupal
> Drupal optimization, development, customization and consulting.
> Simplicity is prerequisite for reliability. --  Edsger W.Dijkstra
> Simplicity is the ultimate sophistication. --   Leonardo da Vinci
> For every complex problem, there is an answer that is clear, simple, and
> wrong." -- H.L. Mencken

> _______________________________________________
> kwlug-disc mailing list
> kwlug-disc at kwlug.org
> http://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org






More information about the kwlug-disc mailing list