shl(1) shl(1)NAME shl - manages the layering of multiple shells 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. The stty character swtch (set to CONTROL-z if NULL) is used to switch control to shl from a layer. The shl program 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 and ioctl. Each layer has its own process group ID. Note: Only one instance of shell layering may be invoked in any given login session. 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] Creates a layer called name and makes 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]... Blocks the output of the corresponding layer when it is not the current layer, for each name. January 1992 1
shl(1) shl(1)delete name [name]... Deletes the corresponding layer for each name. All processes in the process group of the layer are sent the SIGHUP signal (see signal(3)). help(or?) Prints the syntax of the shl commands. layers [-l][name]... Lists the layer name and its process group for each name. The -l option produces a ps(1)-like listing. If no arguments are given, information is presented for all existing layers. resume [name] (followed by RETURN). Makes 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). Resumes the layer that was current before the last current layer. unblock name [name]... Does not block the output of the corresponding layer when it is not the current layer, for each name. quit Exits shl. All layers are sent the SIGHUP signal. name (followed by RETURN). Makes the layer referenced by name the current layer. FILES /usr/bin/shl Executable file /dev/sxt/??? Virtual tty device files $SHELL Variable file containing pathname of the shell to use (default is /bin/sh). SEE ALSO sh(1), stty(1), ioctl(2), signal(3), sxt(7) in A/UX Programmer's Reference A/UX Shells and Shell Programming 2 January 1992