Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ shl(1) — HP-UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1)

stty(1)

ioctl(2)

signal(2)

SHL(1)  —  HP-UX

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(1) 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 device which can be manipulated like a real tty 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.  When no name is supplied, the names (1), (2), ... are used. 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 number of the next available slot in an internal table. If name is "-", a "login shell" will be created in the layer.  If the layer name is followed by a command, that command will be executed in the layer instead of a shell.  The shell prompt variable PS1 is set to the name of the layer followed by a space. 

login name Create a layer called name and make it the current layer.  Name is a "login" type of layer in which the user receives a prompt for username and password. 

name [ oldname ] newname
Rename the layer oldname, calling it newname.  If oldname is not specified, the current layer name is changed. 

! [ command ] Invoke a sub-shell and execute command.  If no command 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 stty(1) 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(1) 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.  Any unique prefix is accepted. 

DEPENDENCIES

Series 800
The login command is not currently supported. 

FILES

$SHELL Variable containing path name of the shell to use (default is /bin/sh). 

SEE ALSO

sh(1), stty(1), ioctl(2), signal(2). 

Hewlett-Packard Company  —  May 11, 2021

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026