How to execute a macro in batch mode ?


PAW should be started as follows:

on Unix
 paw -b macro_name
 
on VMS
 PAW/batch=macro_name
 

If the macro produce a PostScript file, the first parameter of the command METAFILE (LUN) must be negative:

    Macro macro_name
    For/File  1 filename.ps
    Metafile -1 -111
      .
      .
      here put your graphic commands
      .
      .
    close 1
 
To know if a PAW session is running in batch or interactive mode mode, it is enough to put the following lines in the pawlogon.kumac file:
    if $INDEX($ARGS,'-b') = 0 then
       a/cr batch 0
    else
       a/cr batch 1
    endif
 
Then every where you need to know the running mode it is enough to test the value of the alias batch.

Arguments passing

It is NOT possible to pass directly arguments to a macro executed in batch. Nevertheless this problem can be bypass using environment variables.

On Unix (csh)
 setenv arg1 hello
 paw -b macro_name
 
On Unix (ksh)
 export arg1=hello
 paw -b macro_name
 
On VMS
 arg1 :== hello
 PAW/batch=macro_name
 

In all cases (UNIX, VMS ...) in the macro "macro_name" it is enough to use $ENV(arg1) to get the value of the global variable. arg1
Example:

 mess $ENV(arg1)
 


Release NotesKnown bugsFAQsContributionsTutorialReference manualDown loadMiscellaneous

Paw.Support@cern.ch