trap(1)




NAME

     trap, onintr  -  shell  built-in  functions  to  respond  to
     (hardware) signals


SYNOPSIS

  sh
     trap [ argument n [n2...]]

  csh
     onintr [-| label]

  ksh
     *trap [ arg sig [ sig2...]]


DESCRIPTION

  sh
     The trap command argument is to be read  and  executed  when
     the shell receives numeric or symbolic signal(s) (n). (Note:
     argument is scanned once when the trap is set and once  when
     the  trap  is taken.) Trap commands are executed in order of
     signal number or corresponding symbolic names.  Any  attempt
     to  set  a trap on a signal that was ignored on entry to the
     current shell is ineffective. An attempt to trap  on  signal
     11  (memory  fault) produces an error. If argument is absent
     all trap(s) n are reset to their original values.  If  argu-
     ment  is the null string this signal is ignored by the shell
     and by the commands it invokes. If n is 0 the command  argu-
     ment  is  executed  on exit from the shell. The trap command
     with no arguments prints a list of commands associated  with
     each signal number.

  csh
     onintr controls the action of the shell on interrupts.  With
     no  arguments,  onintr  restores  the  default action of the
     shell on interrupts. (The shell terminates shell scripts and
     returns  to  the  terminal  command input level). With the -
     argument, the shell ignores all  interrupts.  With  a  label
     argument,  the shell executes a goto label when an interrupt
     is received or a child process  terminates  because  it  was
     interrupted.

  ksh
     trap uses arg as a command to be read and executed when  the
     shell receives signal(s) sig. (Note that arg is scanned once
     when the trap is set and once when the trap is taken.)  Each
     sig  can  be given as a number or as the name of the signal.
     trap commands are executed in order of  signal  number.  Any
     attempt  to set a trap on a signal that was ignored on entry
     to the current shell is ineffective.  If arg is  omitted  or
     is  -, then the trap(s) for each sig are reset to their ori-
     ginal values.  If arg is the null (the empty  string,  e.g.,
     ""  ) string then this signal is ignored by the shell and by
     the commands it invokes.  If sig is ERR  then  arg  will  be
     executed  whenever a command has a non-zero exit status.  If
     sig is DEBUG then arg will be executed after  each  command.
     If sig is 0 or EXIT for a trap set outside any function then
     the command arg is executed on exit  from  the  shell.   The
     trap  command  with  no  arguments prints a list of commands
     associated with each signal number.

     On this man page, ksh(1) commands that are preceded  by  one
     or  two * (asterisks) are treated specially in the following
     ways:

     1. Variable assignment lists preceding the command remain in
        effect when the command completes.

     2. I/O redirections are  processed  after  variable  assign-
        ments.

     3. Errors cause a script that contains them to abort.

     4. Words, following a command preceded by ** that are in the
        format  of  a  variable assignment, are expanded with the
        same rules as a  variable  assignment.  This  means  that
        tilde substitution is performed after the = sign and word
        splitting and file name generation are not performed.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|


SEE ALSO

     csh(1), exit(1), ksh(1), sh(1), attributes(5)


Man(1) output converted with man2html