[同じ信号について]組み込みコマンドを2回実行するとtrap
どうなりますか? 2番目の命令ですに追加する最初はまだです。変える最初の?
trap Foo SIGINT
...
trap Bar SIGINT
...
SIGINTが発生した場合、Bashだけが実行されますか、それともBashもBar
実行されますか?Foo
それとも違うのでしょうか…?
ベストアンサー1
コマンドが置き換えられます。
マンページには次のように記載されています。
trap [-lp] [[arg] sigspec ...]
The command arg is to be read and executed when the shell
receives signal(s) sigspec. If arg is absent (and there is a
single sigspec) or -, each specified signal is reset to its
original disposition (the value it had upon entrance to the
shell). If arg is the null string the signal specified by each
sigspec is ignored by the shell and by the commands it invokes.
If arg is not present and -p has been supplied, then the trap
commands associated with each sigspec are displayed. If no
arguments are supplied or if only -p is given, trap prints the
list of commands associated with each signal. The -l option
causes the shell to print a list of signal names and their cor‐
responding numbers. Each sigspec is either a signal name
defined in <signal.h>, or a signal number. Signal names are
case insensitive and the SIG prefix is optional.
the command arg is to be read and executed ...
期間を表示したものです。それ以外の場合は、argが常にリストに追加された場合は信号処理をリセットできません。