trap man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

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]

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

   ksh93
       +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.

   ksh
       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, 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 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.

   ksh93
       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
       ksh93:

       -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 ksh93 exits with one of the following values:

       0     Successful completion.

       >0    An error occurred.

       On this manual page, ksh93(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(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │SUNWcs			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       csh(1), eval(1), exit(1), ksh(1), ksh93(1), sh(1), attributes(5)

SunOS 5.11			  20 Nov 2007			       trap(1)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net