trap, onintr - shell built-in functions to respond to
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 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.
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
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 ori-
ginal values. If arg is the null (the empty string, e.g.,
"" ) string then this signal 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 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 man page, ksh(1) commands that are preceded by one
or two * (asterisks) are treated specially in the following
1. Variable assignment lists preceding the command remain in
effect when the command completes.
2. I/O redirections are processed after variable assign-
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 substitution is performed after the = sign and word
splitting and file name generation are not performed.
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWcsu |
csh(1), exit(1), ksh(1), sh(1), attributes(5)
Man(1) output converted with