[kwlug-disc] Capturing output in scripts
unsolicited
unsolicited at swiz.ca
Thu Aug 21 15:33:35 EDT 2014
Is it not not two scripts, but how you call the script in the first place?
./myscript 2>&1 > /tmp/logfile
alias logme='$1 2>&1 > /var/log/$2'
logme myscript mylog
?
On 14-08-21 12:35 PM, 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?
>
>
>
> _______________________________________________
> 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