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

개요

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

onintr(1)

trap(1)                          User Commands                         trap(1)



NAME
       trap,  onintr  - shell built-in functions to respond to (hardware) sig‐
       nals

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  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
       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  sig‐
       nal  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 argu‐
       ments 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
       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 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
       altered 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 attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Availabilitysystem/core-os


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



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