shl.1 (2010 09)

s
shl(1) shl(1)
NAME
shl - shell layer manager
SYNOPSIS
shl
DESCRIPTION
shl provides a means for interacting with more than one shell from a single terminal by using shell
layers. A layer is a shell that is bound to a virtual device. The virtual device can be manipulated like an
actual terminal by using stty and ioctl() (see stty (1) and ioctl (2)). Each layer has its own process
group ID. The user controls these layers by using the commands described below.
The current layer is the layer that 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 block
the output of a layer when it is not current, the
stty option loblk can be set within the layer.
The
stty character swtch (set to ˆZ if NUL) is used to switch control to
shl from a layer. shl has its
own prompt,
>>>, to distinguish it from a layer.
Definitions
A name is a sequence of characters delimited by a space, tab, or new-line character. Only the first eight
characters are significant. When provided as an argument to the
create or name commands, name
cannot be of the form n or
(n), where n is a decimal number.
Commands
The following commands can be issued from the
shl prompt level. Any unique prefix is accepted.
create [-[ name ] name [ command ]]
Create a layer called name and make it the current layer. If no argument is given, a
layer is created with a name of the form (n), where n is the number of the next avail-
able slot in an internal table. Future references to this layer can be made with or
without the parentheses. If name is followed by a command, that command is executed
in the layer instead of a shell. If - is the first argument, a ‘‘login shell’’ is created in the
layer. The shell prompt variable PS1 is set to the name of the layer followed by a space.
name [ oldname ] newname
Rename the layer oldname, calling it newname.Ifoldname is not specified, the current
layer name is changed.
! [ command ] Invoke a sub-shell and execute command.Ifnocommand is given, a shell is executed
according to the
SHELL environment variable.
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 sttyloblk option within the layer.
delete name [ name ... ]
For each name, delete the corresponding layer. All processes in the process group of the
layer are sent the SIGHUP signal (see signal (5)).
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 option produces a
ps(1)-like listing. If no arguments are given, information is presented for all existing
layers.
resume [ name ]
Change the status of the layer referred to by name to that of current layer. If no argu-
ment is given, the last existing current layer is changed.
toggle Change the status of the previous current layer to that of 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-loblk option within the layer.
quit Exit shl. All layers are sent the SIGHUP signal.
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)