trap(1) User Commands trap(1)
trap, onintr - shell built-in functions to respond to (hardware) sig-
trap [ argument n [n2...]]
onintr [-| label]
*trap [ arg sig [ sig2...]]
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.
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-
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 original values.
If arg is the null (the empty string, e.g., "" ) string then this sig-
nal 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 com-
mand 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.
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 vari-
able assignment. This means that tilde substitution is performed
after the = sign and word splitting and file name generation are
See attributes(5) for descriptions of the following attributes:
tab() allbox; cw(2.750000i)| cw(2.750000i) lw(2.750000i)|
lw(2.750000i). ATTRIBUTE TYPEATTRIBUTE VALUE AvailabilitySUNWcsu
csh(1), exit(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 23 Oct 1994 trap(1)