-d and -u are no longer supported.
[pspp-builds.git] / doc / invoking.texi
1 @node Invocation, Language, License, Top
2 @chapter Invoking PSPP
3 @cindex invocation
4 @cindex PSPP, invoking
5
6 @cindex command line, options
7 @cindex options, command-line
8 @example
9 pspp [ -B @var{dir} | --config-dir=@var{dir} ] [ -o @var{device} | --device=@var{device} ]
10        [ -d @var{var}[=@var{value}] | --define=@var{var}[=@var{value}] ] [-u @var{var} | --undef=@var{var} ]
11        [ -f @var{file} | --out-file=@var{file} ] [ -p | --pipe ] [ -I- | --no-include ]
12        [ -I @var{dir} | --include=@var{dir} ] [ -i | --interactive ] 
13        [ -n | --edit | --dry-run | --just-print | --recon ] 
14        [ -r | --no-statrc ] [ -h | --help ] [ -l | --list ] 
15        [ -c @var{command} | --command @var{command} ] [ -s | --safer ]
16        [ --testing-mode ] [ -V | --version ] [ -v | --verbose ] 
17        [ @var{key}=@var{value} ] @var{file}@enddots{}
18 @end example
19
20 @menu
21 * Non-option Arguments::        Specifying syntax files and output devices.
22 * Configuration Options::       Change the configuration for the current run.
23 * Input and output options::    Controlling input and output files.
24 * Language control options::    Language variants.
25 * Informational options::       Helpful information about PSPP.
26 @end menu
27
28 @node Non-option Arguments, Configuration Options, Invocation, Invocation
29 @section Non-option Arguments
30
31 Syntax files and output device substitutions can be specified on
32 PSPP's command line:
33
34 @table @code
35 @item @var{file}
36
37 A file by itself on the command line will be executed as a syntax file.
38 If multiple files may be specified, they are executed in order, as if
39 their contents had been given in a single file.
40 PSPP terminates after the syntax files run, unless the @code{-i} or
41 @code{--interactive} option is given (@pxref{Language control options}).
42
43 @item @var{key}=@var{value}
44
45 Defines an output device macro @var{key} to expand to @var{value},
46 overriding any macro having the same @var{key} defined in the device
47 configuration file.  @xref{Macro definitions}.
48
49 @end table
50
51 There is one other way to specify a syntax file, if your operating
52 system supports it.  If you have a syntax file @file{foobar.stat}, put
53 the notation
54
55 @example
56 #! /usr/local/bin/pspp
57 @end example
58
59 at the top, and mark the file as executable with @code{chmod +x
60 foobar.stat}.  (If PSPP is not installed in @file{/usr/local/bin},
61 then insert its actual installation directory into the syntax file
62 instead.)  Now you should be able to invoke the syntax file just by
63 typing its name.  You can include any options on the command line as
64 usual.  PSPP entirely ignores any lines beginning with @samp{#!}.
65
66 @node Configuration Options, Input and output options, Non-option Arguments, Invocation
67 @section Configuration Options
68
69 Configuration options are used to change PSPP's configuration for the
70 current run.  The configuration options are:
71
72 @table @code
73 @item -a @{compatible|enhanced@}
74 @itemx --algorithm=@{compatible|enhanced@}
75
76 If you chose @code{compatible}, then PSPP will use the same  algorithms 
77 as used by some proprietary statistical analysis packages.
78 This is not recommended, as  these algorithms are inferior and in some cases 
79 compeletely broken.
80 The default setting is @code{enhanced}.
81 Certain commands have subcommands which allow you to override this setting on 
82 a per command basis.
83
84 @item -B @var{dir}
85 @itemx --config-dir=@var{dir}
86
87 Sets the configuration directory to @var{dir}.  @xref{File locations}.
88
89 @item -o @var{device}
90 @itemx --device=@var{device}
91
92 Selects the output device with name @var{device}.  If this option is
93 given more than once, then all devices mentioned are selected.  This
94 option disables all devices besides those mentioned on the command line.
95 @end table
96
97 @node Input and output options, Language control options, Configuration Options, Invocation
98 @section Input and output options
99
100 Input and output options affect how PSPP reads input and writes
101 output.  These are the input and output options:
102
103 @table @code
104 @item -f @var{file}
105 @itemx --out-file=@var{file}
106
107 This overrides the output file name for devices designated as listing
108 devices.  If a file named @var{file} already exists, it is overwritten.
109
110 @item -p
111 @itemx --pipe
112
113 Allows PSPP to be used as a filter by causing the syntax file to be
114 read from stdin and output to be written to stdout.  Conflicts with the
115 @code{-f @var{file}} and @code{--file=@var{file}} options.
116
117 @item -I-
118 @itemx --no-include
119
120 Clears all directories from the include path.  This includes all
121 directories put in the include path by default.  @xref{Miscellaneous
122 configuring}.
123
124 @item -I @var{dir}
125 @itemx --include=@var{dir}
126
127 Appends directory @var{dir} to the path that is searched for include
128 files in PSPP syntax files.
129
130 @item -c @var{command}
131 @itemx --command=@var{command}
132
133 Execute literal command @var{command}.  The command is executed before
134 startup syntax files, if any.
135
136 @item --testing-mode
137
138 Invoke heuristics to assist with testing PSPP.  For use by @code{make
139 check} and similar scripts.
140 @end table
141
142 @node Language control options, Informational options, Input and output options, Invocation
143 @section Language control options
144
145 Language control options control how PSPP syntax files are parsed and
146 interpreted.  The available language control options are:
147
148 @table @code
149 @item -i
150 @itemx --interactive
151
152 When a syntax file is specified on the command line, PSPP normally
153 terminates after processing it.  Giving this option will cause PSPP to
154 bring up a command prompt after processing the syntax file.
155
156 In addition, this forces syntax files to be interpreted in interactive
157 mode, rather than the default batch mode.  @xref{Tokenizing lines}, for
158 information on the differences between batch mode and interactive mode
159 command interpretation.
160
161 @item -n
162 @itemx --edit
163 @itemx --dry-run
164 @itemx --just-print
165 @itemx --recon
166
167 Only the syntax of any syntax file specified or of commands entered at
168 the command line is checked.  Transformations are not performed and
169 procedures are not executed.  Not yet implemented.
170
171 @item -r
172 @itemx --no-statrc
173
174 Prevents the execution of the PSPP startup syntax file.  Not yet
175 implemented, as startup syntax files aren't, either.
176
177 @item -s
178 @itemx --safer
179
180 Disables certain unsafe operations.  This includes the ERASE and
181 HOST commands, as well as use of pipes as input and output files.
182 @end table
183
184 @node Informational options,  , Language control options, Invocation
185 @section Informational options
186
187 Informational options cause information about PSPP to be written to
188 the terminal.  Here are the available options:
189
190 @table @code
191 @item -h
192 @item --help
193
194 Prints a message describing PSPP command-line syntax and the available
195 device driver classes, then terminates.
196
197 @item -l
198 @item --list
199
200 Lists the available device driver classes, then terminates.
201
202 @item -x @{compatible|enhanced@}
203 @itemx --syntax=@{compatible|enhanced@}
204
205 If you chose @code{compatible}, then PSPP will only accept command syntax that 
206 is compatible with the proprietary program SPSS.
207 If you choose @code{enhanced} then additional syntax will be available.
208 The default is @code{enhanced}.
209
210
211 @item -V
212 @item --version
213
214 Prints a brief message listing PSPP's version, warranties you don't
215 have, copying conditions and copyright, and e-mail address for bug
216 reports, then terminates.
217
218 @item -v
219 @item --verbose
220
221 Increments PSPP's verbosity level.  Higher verbosity levels cause
222 PSPP to display greater amounts of information about what it is
223 doing.  Often useful for debugging PSPP's configuration.  
224
225 This option can be given multiple times to set the verbosity level to
226 that value.  The default verbosity level is 0, in which no informational
227 messages will be displayed.
228
229 Higher verbosity levels cause messages to be displayed when the
230 corresponding events take place.
231
232 @table @asis
233 @item 1
234
235 Driver and subsystem initializations.
236
237 @item 2
238
239 Completion of driver initializations.  Beginning of driver closings.
240
241 @item 3
242
243 Completion of driver closings.
244
245 @item 4
246
247 Files searched for; success of searches.
248
249 @item 5
250
251 Individual directories included in file searches.
252 @end table
253
254 Each verbosity level also includes messages from lower verbosity levels.
255
256 @end table
257 @setfilename ignored