Spec-Zone.ru › Fish 3.3

trap - выполнение действия при получении оболочкой сигнала

Резюме

trap [OPTIONS] [[ARG] REASON ... ]

Описание

trap — это оболочка вокруг фреймворка доставки событий оболочки. Она существует для обратной совместимости с оболочками POSIX. Для других целей рекомендуется определить обработчик событий.

Доступны следующие параметры:

  • ARG — это команда, которая должна быть выполнена при доставке сигнала.
  • REASON — это имя события, которое нужно перехватить. Например, сигнал, подобный INT или SIGINT, или специальный символ EXIT.
  • -l или --list-signals выводит список имён сигналов.
  • -p или --print выводит все определённые обработчики сигналов.

Если ARG и REASON оба указаны, ARG — это команда, которая должна быть выполнена, когда произойдёт событие, указанное в REASON (например, когда сигнал доставлен).

Если ARG отсутствует (и есть только один REASON) или равно -, каждый указанный сигнал сбрасывается до своего исходного состояния (значения, которое он имел при запуске оболочки). Если ARG — пустая строка, то сигнал, указанный в каждом REASON игнорируется оболочкой и командами, которые она вызывает.

Если ARG отсутствует, а -p задано, то команды перехвата, связанные с каждым REASON, будут отображены. Если не указано никаких аргументов или указан только -p, trap выводит список команд, связанных с каждым сигналом.

Имена сигналов регистронезависимы, а префикс SIG является необязательным.

Код возврата 1, если какой-либо REASON недействителен; в противном случае trap возвращает 0.

Пример

trap "status --print-stack-trace" SIGUSR1
# Prints a stack trace each time the SIGUSR1 signal is sent to the shell.

© 2021 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.3/cmds/trap.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API