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

개요

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

trap(1)

trap(1)                          User Commands                         trap(1)

NAME
       trap, onintr - shell built-in functions to respond to signals

SYNOPSIS
   /usr/sunos/bin/sh
       trap [argument n [n2]...]

   csh
       onintr [-| label]

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

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

DESCRIPTION
   /usr/sunos/bin/sh
       The trap command argument is to be read and executed when the shell re‐
       ceives  numeric  or  symbolic signal(s) (n). (Note: argument is scanned
       once when the trap is set and once when the trap is taken.)  Trap  com‐
       mands  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 argument is the null string this
       signal  is ignored by the shell and by the commands it invokes. If n is
       0 the command argument 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  argu‐
       ments,  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 inter‐
       rupt is received or a child process terminates because  it  was  inter‐
       rupted.

   ksh88
       trap  uses  arg as a command to be read and executed when the shell re‐
       ceives 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  num‐
       ber. 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 ig‐
       nored  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 following 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 assignment. This means that tilde sub‐
                  stitution is performed 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 condi‐
       tions  such  as receiving a signal occur. trap can also be used to dis‐
       play the current trap settings on standard output.


       If action is -, trap resets each condition to the default value. If ac‐
       tion 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 processed 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  al‐
       tered by the trap execution.


       condition  can be the name or number of a signal, or one of the follow‐
       ing:

       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 device.



       Signal names are case insensitive and the sig prefix is optional.  Sig‐
       nals  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 sta‐
       tus, but does not terminate the invoking shell.


       If no action or conditions are specified then all the current trap set‐
       tings 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 re-create 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 following 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 assignment. This means that tilde sub‐
                  stitution is performed after the = sign and  word  splitting
                  and file name generation are not performed.



ATTRIBUTES
       See the respective shell man pages for attributes of the shell built-in
       commands.

SEE ALSO
       csh(1), eval(1), exit(1), ksh(1), ksh88(1), sh(1s), attributes(7)

Oracle Solaris 11.4               29 Nov 2022                          trap(1)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3