shl(1) shl(1)
NAME
shl - shell layer manager
SYNOPSIS
shl
DESCRIPTION
shl allows a user to interact with more than one shell from
a single terminal. The user controls these shells, known as
layers, using the commands described below.
The current layer is the layer which can receive input from
the keyboard. Other layers attempting to read from the
keyboard are blocked. Output from multiple layers is
multiplexed onto the terminal. To have the output of a
layer blocked when it is not current, the stty flag option
loblk may be set within the layer.
The stty character swtch (set to CONTROL-Z if NUL) is used
to switch control to shl from a layer. shl has its own
prompt, >>>, to help distinguish it from a layer.
A layer is a shell which has been bound to a virtual tty
device (/dev/sxt/???). The virtual device can be
manipulated like a real tty device using stty(1) and
ioctl(2). Each layer has its own process group id.
Definitions
A name is a sequence of characters delimited by a blank, tab
or newline. Only the first eight characters are
significant. The names (1) through (7) cannot be used when
creating a layer. They are used by shl when no name is
supplied. They may be abbreviated to just the digit.
Commands
The following commands may be issued from the shl prompt
level. Any unique prefix is accepted.
create [name]
Create a layer called name and make it the current
layer. If no argument is given, a layer will be
created with a name of the form (#) where # is the last
digit of the virtual device bound to the layer. The
shell prompt variable PS1 is set to the name of the
layer followed by a space. A maximum of seven layers
can be created.
block name [name ...]
For each name, block the output of the corresponding
layer when it is not the current layer. This is
equivalent to setting the stty flag option loblk within
the layer.
delete name [name ...]
Page 1 (last mod. 1/16/87)
shl(1) shl(1)
For each name, delete the corresponding layer. All
processes in the process group of the layer are sent
the SIGHUP signal (see signal(3)).
help (or ?)
Print the syntax of the shl commands.
layers [-l] [name ...]
For each name, list the layer name and its process
group. The -l flag option produces a ps(1)-like
listing. If no arguments are given, information is
presented for all existing layers.
resume [name]
(followed by RETURN). Make the layer referenced by
name the current layer. If no argument is given, the
last existing current layer will be resumed.
toggle
(followed by RETURN). Resume the layer that was
current before the last current layer.
unblock name [name ...]
For each name, do not block the output of the
corresponding layer when it is not the current layer.
This is equivalent to setting the stty flag option
-loblk within the layer.
quit Exit shl. All layers are sent the SIGHUP signal.
name (followed by RETURN). Make the layer referenced by
name the current layer.
FILES
/usr/bin/shl
/dev/sxt/??? Virtual tty devices
$SHELL Variable containing path name of the shell
to use (default is /bin/sh).
SEE ALSO
sh(1), stty(1), ioctl(2), signal(3), sxt(7).
Page 2 (last mod. 1/16/87)