A string, a list of strings, a simple-vector of strings, or
A string. Implemented only on Microsoft Windows.
A string or
allows executables and DOS or Unix shell commands to be called from Lisp code. The output goes to standard output, as the operating system sees it. (This normally means
If command is a list then it becomes the argv of a command to run directly, without invoking a shell. The first element is the command to run directly and the other elements are passed as arguments on the command line (that is, element 0 has its name in argv in C, and so on).
If command is a simple vector of strings, the element at index 0 is the command to run directly, without invoking a shell. The other elements are the complete set of arguments seen by the command (that is, element 1 becomes argv in C, and so on).
On Microsoft Windows, if
is a string, LispWorks hides the first window of the execution of the command, because that is the console that
starts in a DOS window. If the command itself is a console application, you may want to see the console. In this case run the command as a direct command. To do this, pass a list or a vector as described above. Conversely, if you run a console application and do not want to see the console, pass the command as a string.
On Unix/Linux/Mac OS X/FreeBSD, if
is a string it specifies the shell. If
(the default) then the Bourne shell,
, is used. The C shell may be obtained by passing
On Microsoft Windows, LispWorks 5.0 and later use
) by default when
is a string. In LispWorks 5.x the user may see a DOS command window in this case, but LispWorks 6.0 and later explictly hide the DOS window. To call your command directly
should be a list, as in the last example below.
LispWorks User Guide and Reference Manual - 21 Dec 2011