Re: turn off maxima command echo when I run a script in batch mode
Subject: Re: turn off maxima command echo when I run a script in batch mode
From: KC
Date: Thu, 21 Apr 2005 02:43:33 +0800
Hi,
Set TTYOFF to TRUE will turn off all output, which is not exactly
what I expected.
What I'm looking for is the method to turn off the command echo (C labels)
when I run the script in batch mode.
For example, assume that I have a script call analysis.max, which will do
some analysis ... and I want "maxima -b analysis.max" only show the
me the final result of the analysis, not the detail procedure or steps
inside "analysis.max".
Thanks anyway.
Regards
KC
kccheng@LinuxDAQ-Labs.org
On 4/20/05, Christiansson, G.A.V. wrote:
> You wrote:
> -----------------
> Hi,
>
> How can I turn off maxima command echo when I
> run a script in batch mode ? Thanks
>
> Regards
> KC
> kccheng@LinuxDAQ-Labs.org
> ---------------------------
>
> Look at the TTYOFF variable:
>
> (%i3) describe(TTYOFF);
>
> 0: TTYOFF :(maxima.info)Definitions for Input and Output.
>
> Info from file C:/PROGRA~1/MAXIMA~1.1/info/maxima.info:
> - Variable: TTYOFF
> default: [FALSE] - if TRUE stops printing output to the console.
>
> - macro: WITH_STDOUT (file,stmt1,stmt2,...)
> Opens file and then evaluates stmt1, stmt2, .... Any printing to
> standard output goes to the file instead of the terminal. It
> always returns FALSE. Note the binding of display2d to be false,
> otherwise the printing will have things like "- 3" instead of "-3".
>
> mygnuplot(f,var,range,number_ticks):=
> block([numer:true,display2d:false],
> with_stdout("/tmp/gnu",
> for x:range[1] thru range[2] step
> (range[2]-range[1])/number_ticks
> do (print(x,at(f,var=x)))),
> system("echo \"set data style lines; set title '",
> f,"' ;plot '/tmp/gnu'
> ;pause 10 \" | gnuplot"));
>
> (%i8) with_stdout("/home/wfs/joe",
> n:10,
> for i:8 thru n
> do(print("factorial(",i,") gives ",i!)));
> (%o8) FALSE
> (%i9) system("cat /home/wfs/joe");
> factorial( 8 ) gives 40320
> factorial( 9 ) gives 362880
> factorial( 10 ) gives 3628800
> (%o9) 0
> (%o3) FALSE
>
> I usually put this line first in my .mac-files:
> eval_when(batch,ttyoff : true)$
>
> And this last:
> eval_when(batch,ttyoff : false)$
>
> In the contrib/unit/unit.mac it is done this way:
> TTYOFF: NOLABELS, TRUE$
>
> Try and see what fits you best.
>
> Best regards,
> Goran
> ###########################################
>
> This message has been scanned by F-Secure Anti-Virus for Microsoft Exchange.
> For more information, connect to http://www.f-secure.com/
>