2
난`파워 쉘에서 다음과 같이 스크립트를 사용하여 분기 작업을 자동화하려고 :파워 쉘에서 SVN을 호출의 결과를 확인하는 방법
$fromUrl = 'svn://some/from/url'
$toUrl = 'svn://some/to/url.'
[Array]$arguments = "copy", "-q", $fromUrl, $toUrl, "-m", "New branch"
echo "Branching from: " $fromUrl
echo "Branching to: " $toUrl
$copyResult = & svn $arguments
echo "Result: " $copyResult
echo "Switching to: " $toUrl
$switchResult = svn switch -q $toUrl ho-til-test
echo "Result: " $switchResult
을만큼 SVN에 대한 호출이 작동하기 때문에하는 것은, 이것이 잘 작동합니다 ; 그러나 내가 원하는 것은 결과를 캡처하고 호출이 실패하면 오류 메시지로 스크립트를 중지하는 것입니다. 위의 스크립트는 잘못된 URL로 인해 분명히 실패하지만 결과는 $copyResult
및 $switchResult
으로 캡처되지 않습니다. 결과 출력은 대신 다음과 같습니다. 상태 - 메시지 내 두 개의 결과 변수의 출력 전에 표시됩니다, 그들은 비어 :
PS > .\PsExampleForSO.ps1
Branching from:
svn://some/from/url
Branching to:
svn://some/to/url.
svn: E731001: Unable to connect to a repository at URL 'svn://some/from/url'
svn: E731001: Unknown hostname 'some'
Result:
Switching to:
svn://some/to/url.
svn: E731001: Unable to connect to a repository at URL 'svn://some/to/url.'
svn: E731001: Unknown hostname 'some'
Result:
PS >
이 출력 결과를 변수에 캡처 할 수 있습니다 내가 만들고있어 몇 가지 다른 통화 다르며 나중에 확인했습니다.
이 두 가지 호출에 대해이를 수행 할 수있는 방법이 있습니까?
스크립트 오류의 경우에는 중지 할 경우 해당 변수를 확인해야합니다 'echo "결과 : $ copyResult"'이것으로 해봤습니까? –
@DipuH 그래, 아무런 차이가 없다. – Kjartan
'Write-Host "결과 : $ copyResult"이것은 하나입니까? –