Выполнять вещи до и / или после интерактивной команды - PullRequest
0 голосов
/ 03 мая 2019

В Bash я могу использовать ловушку для сигнала DEBUG для выполнения действий перед любой командой и переменную PROMPT_COMMAND для выполнения операций после любой интерактивной команды.

В Zsh я могу использовать preexec / preexec_functions и precmd / precmd_functions для соответственно одинаковых вещей.

Есть ли способ сделать это в PowerShell?

1 Ответ

0 голосов
/ 03 мая 2019

Вы можете создать функцию, которая использует Invoke-Command или иным образом:

Function Invoke-Debug {
    [CmdletBinding()]
    Param (
        [Parameter(Mandatory)
        [Scriptblock[]]$Scriptblock
    )

    Before {
        #Before all code
    }

    Process {
        ForEach ($SB in $Scriptblock) {
            #Before each code
            Invoke-Command -Scriptblock $SB
            #After each code
        }
    }

    End {
        #After all code
    }
}

Вы можете сделать это и многими другими способами.

С этим вы запускаететакие команды:

Invoke-Debug -Scriptblock {#Your code here}

или:

$Scriptblock = {#Your code here}
Invoke-Debug -Scriptblock $Scriptblock
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...