block - イベントの配信を一時的にブロックする¶
概要¶
block [(--local | --global)]
block --erase
説明¶
block は、 fish 、 emit によってトリガーされるすべてのイベントの配信を遅延させます。これにより、 --on-event 、 --on-process-exit 、 --on-job-exit 、 --on-variable 、 --on-signal を使用して登録された関数の実行を、ブロックが解除されるまで遅らせることができます。
イベントのブロック(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
Notes¶
ある fish プロセスから別のプロセスへイベントを送信する方法はないため、イベントは現在の fish プロセスからのみ受信されます。
