trap(1) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨페이지이름
검색(S)

trap

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

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


  csh
     onintr [-| label]


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


  ksh
     +trap [-p] [action condition...]

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.

  ksh88
     trap uses arg as a command to be read and executed when  the
     shell  receives  signal(s) sig. arg is scanned once when the
     trap is set and once when the trap is taken. Each sig can be
     specified  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 original
     values. If arg is the null (the empty string,  for  example,
     "")  string  then this signal is ignored by the shell and by
     the commands it invokes. If sig is ERR then arg are executed
     whenever  a  command  has  a non-zero exit status. If sig is
     DEBUG then arg are 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 manual page, ksh88(1) commands that are preceded  by
     one  or  two * (asterisks) are treated specially in the fol-
     lowing ways:

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

         2.   I/O  redirections  are  processed  after   variable
              assignments.

         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  assign-
              ment.  This  means  that tilde substitution is per-
              formed after the = sign and word splitting and file
              name generation are not performed.

  ksh
     trap is a special built-in that defines actions to be  taken
     when  conditions  such as receiving a signal occur. trap can
     also be used to display the current trap settings  on  stan-
     dard output.


     If action is -, trap resets each condition  to  the  default
     value.  If action is an empty string, the shell ignores each
     of the conditions if they  arise.  Otherwise,  the  argument
     action  is read and executed by the shell as if it were pro-
     cessed by eval when  one  of  the  corresponding  conditions
     arise.  The action of the trap overrides any previous action
     associated with each specified condition. The value of $? is
     not altered by the trap execution.
     condition can be the name or number of a signal, or  one  of
     the following:

     EXIT
              Execute this trap when the shell exits. If  defined
              within  a function with the function reserved word,
              executes the trap in the caller's environment  when
              the  function  returns. The trap action is restored
              to the value it had when it called the function.


     0
              Same as EXIT.


     DEBUG
              Execute before each simple command is executed  but
              after the arguments are expanded.


     ERR
              Execute whenever set -e would cause  the  shell  to
              exit.


     KEYBD
              Execute when a key is entered from a terminal  dev-
              ice.



     Signal names are case insensitive  and  the  sig  prefix  is
     optional.  Signals  that  were  ignored  on  entry to a non-
     interactive shell cannot trapped or reset although doing  so
     does  not  report  an error. The use of signal numbers other
     than 1, 2, 3, 6, 9, 14, and 15 are not portable.


     Although trap is a special built-in, specifying a  condition
     that  the shell does not know about causes trap to exit with
     a non-zero exit status, but does not terminate the  invoking
     shell.


     If no action  or  conditions  are  specified  then  all  the
     current trap settings are written to standard output.


     The following options are supported  by  the  trap  built-in
     command in ksh:

     -p
           Causes the current traps to be output in a format that
           can be processed as input to the shell to recreate the
           current traps.

     The trap built-in in ksh exits with  one  of  the  following
     values:

     0
           Successful completion.


     >0
           An error occurred.



     On this manual page, ksh(1) commands that  are  preceded  by
     one  or two + (plus signs) are treated specially in the fol-
     lowing ways:

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

         2.   I/O  redirections  are  processed  after   variable
              assignments.

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

         4.   They are not valid function names.

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

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



     tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i)  ATTRI-
     BUTE TYPEATTRIBUTE VALUE _ Availabilitysystem/core-os

See Also
     csh(1), eval(1), exit(1), ksh(1),  ksh88(1),  sh(1),  attributes(5)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 1.0 CSS3