Amiga Unix — 68040 · 68060

Manual pages › General commands (1)

shl(1)

shell layer manager

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

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 option loblk may 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 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 new-line. 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 option -loblk 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(2)).
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 ]
     Make the layer referenced by name  the  current  layer.
     If  no  argument  is  given,  the last existing current
     layer will be resumed.
toggle
     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  option  -loblk
     within the layer.
quit Exit shl.  All layers are sent the SIGHUP signal.
name Make the layer referenced by name the current layer.

FILES

/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(2) in the Programmer's Reference Manual.
sxt(7) in the System Administrator's Reference Manual.

WARNING

To avoid disabling the suspend character when in the job control environment, the swtch character must be redefined.