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
# 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.,
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.