trap - выполнение действия при получении оболочкой сигнала
Резюме
trap [OPTIONS] [[ARG] REASON ... ]
Описание
trap — оболочка вокруг фреймворка доставки событий fish. Она существует для обратной совместимости с оболочками POSIX. Для других целей рекомендуется определить обработчик событий обработчик событий.
Доступны следующие параметры:
- ARG
-
Команда, которая будет выполнена при доставке сигнала.
- REASON
-
Имя события для отслеживания. Например, сигнал, подобный
INTилиSIGINT, или специальный символEXIT. - -l или --list-signals
-
Выводит список имён сигналов.
- -p или --print
-
Выводит все определённые обработчики сигналов.
- -h или --help
-
Отображает справку по использованию этой команды.
Если ARG и REASON указаны оба, то ARG — это команда, которая будет выполнена при возникновении события, указанного в REASON (например, когда доставлен сигнал).
Если ARG отсутствует (и присутствует только один REASON) или -, каждый указанный сигнал сбрасывается до своего исходного состояния (значение, которое он имел при входе в оболочку). Если ARG — это пустая строка, то оболочка и вызываемые ею команды игнорируют сигнал, указанный в каждом REASON.
Если ARG отсутствует, а -p предоставлен, то команды trap, связанные с каждым REASON, будут отображены. Если аргументы не указаны или указан только -p, то trap выводит список команд, связанных с каждым сигналом.
Имена сигналов нечувствительны к регистру, и префикс SIG необязателен. Отслеживание сигнала предотвратит выход fish в ответ на этот сигнал.
Код возврата — 1, если какой-либо REASON некорректен; в противном случае trap возвращает 0.
Пример
trap "status --print-stack-trace" SIGUSR1 # Prints a stack trace each time the SIGUSR1 signal is sent to the shell.
© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.6/cmds/trap.html