trap(1) manual page
Table of Contents
trap, onintr - shell built-in functions to respond to (hardware)
signals
trap [ argument n [ n2 ... ]]
onintr [ -| label]
*
- trap [ arg sig [ sig2 ... ]]
-
SUNWcsu
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 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 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 interrupted.
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 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 ways:
.- Variable assignment lists
preceding the command remain in effect when the command completes.
.- I/O redirections
are processed after variable assignments.
.- Errors cause a script that contains
them to abort.
.- 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.
csh(1)
, exit(1)
, ksh(1)
, sh(1)
Table of Contents