As some of the tools provide a lot of switches and parameters, it is
possible to store the command-line arguments in files and load them into
the command line with @<filename>
. This also has the advantage that
there is no need to quote and escape special characters that are
usually interpreted by the shell.
A command input file has the same format as the configuration
files (Section ). Additional notes:
@<filename>
in the
command line. Thus, it is possible to specify both switches and
arguments in command input files.
-lnew_logor after an = when using the long switch name:
--log=new_logFor convenience, white space is allowed in command input files between the name of the switch and its value:
-l new_log --name new_name
Example:
labrun.opt
# command-line options for labrun --cvs=~/steiner_c --log=~/tmp/exptest --exec=~/steiner_c --name=test --env=LD_LIBRARY_PATH --comment=tagtest2 --comment=EnvTest=$PATH --comment=FileTest=@~/.cshrc:PATH\s+(.*) --comment=ExecTest=`head -1 ~/.cshrc`:.*\s(.+) -v steiner grid_solve.str problem=dmxa1200.stp # There are different ways to specify the command to be executed. You # need not indent it. And you can put everything on one line: # # steiner grid_solve.str problem=dmxa1200.stp # # As it is the first argument for labrun and it contains spaces, this # line will be split into three lines. The following is equivalent: # # steiner grid_solve.str # + problem=dmxa1200.stp # # Note that only the first line is split. Thus, the following won't # work; it calls "steiner" with one argument containing a space. # # steiner # grid_solve.str problem=dmxa1200.stp # # Because we don't want to have the same mess with special characters # as with the shell, the following is illegal in command-line files # and will be rejected: # # steiner 'some argument containing a space' 'another argument' NEX # with NEX starts the next experiment -v --cvs=~/steiner_c --log=~/tmp/exptest --exec=~/steiner_c --name=grid_solve2 steiner grid_solve2.str problem=dmxa1200.stp
Notice that, though section separators (e.g., SPMquot
[labrun]")
are possible in command input files,
they are not necessary if the file contains options for only a single tool
since all commands before the first separator are used by all tools.