Spec-Zone.ru › Fish 3.7

block - временно блокирует доставку событий

Резюме

block [(--local | --global)]
block --erase

Описание

block предотвращает доставку и обработку событий, инициированных fish или командой emit, пока блокировка активна.

В функциях block может быть полезным при выполнении задач, которые не должны прерываться оболочкой.

Блокировку можно снять. Все события, возникшие во время блокировки, будут затем доставлены.

Блоки событий не следует путать с блоками кода, которые создаются с помощью begin, if, while или for

Без опций команда block действует в рамках области видимости функции.

Доступны следующие опции:

-l или --local

Автоматически снимает блокировку в конце области видимости текущего внутреннего блока кода.

-g или --global

Никогда не снимает блокировку автоматически.

-e или --erase

Снимает глобальную блокировку.

-h или --help

Отображает справку по использованию этой команды.

Пример

# Create a function that listens for events
function --on-event foo foo; echo 'foo fired'; end

# Block the delivery of events
block -g

emit foo
# No output will be produced

block -e
# 'foo fired' will now be printed

Примечания

События принимаются только от текущего процесса fish, так как нет способа отправлять события из одного процесса fish в другой (пока).

© 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/block.html

Spec-Zone.ru

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