Function | Package: excl | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Moderately revised from 8.2. 8.2 version

## shell

Arguments: &optional cmd&key show-window

The `:osi` module (see Operating System Interface Functionality in os-interface.htm) has these operators relating to running subprocesses: the function command-output and the macros with-command-output and with-command-io. They are higher-level than run-shell-command and shell and are recommended when the interaction with the subprocess requires input or produces output that must be captured. Those operators do not have separate description pages. They are described in OSI process/uid/gid interface functions in os-interface.htm.

On Windows, an interactive shell cannot be started, so the optional cmd must be specified. In general, Windows users should consider run-shell-command or one of the OSI functions mentioned above as alternatives.

On UNIX, the shell function used by shell is /bin/sh.

If the command argument is not given, then an interactive shell is spawned. To get back to Lisp, exit from the shell. If the command (a string) is given as the value of cmd, then a shell is spawned and directed to execute that command.

The show-window keyword argument is only applicable on Windows. It specifies how the window associated with the cmd will be displayed. The default is `:minimized`, which produces the same behavior as in earlier releases, which was, the window was not displayed but an entry for it appeared on the task bar. Another possible value is `:showna`, which is supposed to display the window but not select it. Note that the `:showna` option does not seem to work correctly on some versions of Windows. See the description of the show-window argument to run-shell-command for the possible values (all values accepted by run-shell-command are valid for shell) and a discussion of the `:showna` problems.

On UNIX, the show-window keyword argument is accepted but ignored.

See also run-shell-command. See os-interface.htm for general information on the interface between Allegro CL and the operating system, and information on shell commands.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page has had moderate revisions compared to the 8.2 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Moderately revised from 8.2. 8.2 version