A string or a list of strings.
A string. Implemented only on Unix/Linux/MacOS.
A string. Implemented only on Windows.
A boolean. Implemented only on Windows.
call-system
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
*terminal-io*
in LispWorks.)
If
command
is a string it is the command to execute. If
command
is a
list
or a
simple-vector
, the first element gives the command and the remaining elements are the command line arguments, and
command
is run directly, not via a subshell.
If you need to invoke the command interpreter on Windows then pass as
command
"cmd /c command"
on NT or
"command.com /c command"
on Windows 9x.
On Unix/Linux/MacOS
shell-type
gives the type of shell required. The default is the Bourne shell,
/bin/sh
. The C shell may be obtained by specifying
"/bin/csh"
.
On Windows current-directory is the lpCurrentDirectory argument passed to CreateProcess. If this is not supplied, the pathname-location of the current-pathname is passed.
On Windows if
wait
is true,
call-system
does not return until the process has exited. The default for
wait
is
nil
.
call-system
returns the exit status of the shell invoked to execute the command on Unix/Linux/MacOS, or the process created on Windows.
(call-system (format nil "adb ~a < ~a > ~a"
(namestring a)
(namestring b)
(namestring c)))
CL-USER 176 > sys:call-system "sleep 3" :wait t
0