unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 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, >&gt&gt>>&gt&gt>>&gt&gt>, 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, login, 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 available 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.

      login [name]   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 available slot in an internal table.  Future
		     references to this layer can be made with or without



 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 shl(1)								      shl(1)




		     the parentheses.  name is a ``login'' type of layer in
		     which the user receives a prompt for user name 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 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 argument 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.

      name	     Change the status of the layer referred to by name to
		     that of current layer.  Any unique prefix is accepted.





 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 shl(1)								      shl(1)




 WARNINGS
    Commands
      The behavior of the block and unblock shl commands is not guaranteed
      when the SHELL environment variable is set to /usr/bin/csh (for
      csh(1)) or /usr/bin/ksh (for ksh(1)), or when the shell saves and
      restores the tty state (defined in termio(7)) before and after each
      command is invoked interactively from that shell.	 For both
      /usr/bin/csh and /usr/bin/ksh, the loblk or -loblk options of stty can
      be used from within the layer to block or unblock the output of that
      layer.

    Ptydaemon
      For shl to function properly, the ptydaemon process must be running on
      the system.  If your system has been installed with the Desktop HP-UX
      product, then ptydaemon will not be started by default. In order to
      start this daemon, change PTYDAEMON_START from a "0" to a "1" in the
      /etc/rc.config.d/ptydaemon file.	The system must either be rebooted
      for this change to take effect, or you can manually start this daemon
      by typing :

	   /usr/sbin/ptydaemon

      Note that ptydaemon will also be disabled if the
      DesktopConfig.LITECONFIG fileset has been installed on the system, or
      if the system administrator has previously run the SAM utility and
      selected the Apply Lite HP-UX Configuration Action from within any of
      SAM's Kernel Configuration screens.

 DEPENDENCIES
    Series 800
      The login command is not currently supported.

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

 SEE ALSO
      sh(1), stty(1), ioctl(2), signal(5).

 STANDARDS CONFORMANCE
      shl: SVID2, SVID3, XPG2













 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000