Я устанавливаю завершающий шаг при обнаружении ExitCode = 1 или выше с помощью регулярного выражения в том же сценарии PowerShell.
Я загружу это в работу jenkins, где работают другие сторонние программы, которые возвращают Lastexitcode, который Powershell не распознает, поэтому мне нужна функция с регулярным выражением, чтобы найти то, что написано до сих пор, и завершить ее посленайти его.
Я пытался:
[regex]::new('ExitCode=[1-9]*[0-9]')
function script:ThrowErrors {
if ([regex]::new('ExitCode=[1-9]*[0-9]') {
'erorrrrr'
}
if ($env:Terminating -eq 1) {
throw 'This error is terminating the step.'
}
}
# ps1 log with steps and written output
# step one
1+2
'ExitCode=1'
'ExitCode=0'
'ExitCode=10'
$env:Terminating = '1'
ThrowErrors
# step two
2+3
Я ожидаю, что после запуска функции она найдет указанную формулу регулярного выражения во всем сценарии и завершит шаг, но вместо этого ядойти до второго шага и ошибка в том, что он ничего не находит в первую очередь.