2014-11-17 4 views
1

테스트 목적으로 항상 충돌하는 "가짜"프로세스를 만들고 싶습니다.Powershell 명령 줄 throw

Powershell을 사용하고 있기 때문에 다른 PS 인스턴스를 예외 (throw 'test')가 발생하도록 생각하고있었습니다.

powershell -command "& throw 'test'" 

오류 "던져 이해되지 않는다"를 얻을 수 있지만 :

소위 간단한 작업을 통해 몇 분 동안 내 머리를 두드리는 후, 나는 것으로 나타났습니다

powershell -command "& { throw 'test' }" 

던졌습니다 내가 원하는 예외.

차이점은 무엇입니까? 던지기 주위에 중괄호가 필요한 이유는 무엇입니까?

답변

4

첫 번째 버전에서는 이라는 프로그램을 호출하려고 했으므로 실패합니다. 당신은 단순히 한 경우 실제로 잘 작동 할

:

powershell -command "throw 'test'" 

을 두 번째 버전에서는 중괄호를 사용하기 때문에 표현은 오히려 프로그램을 호출하는 것보다 스크립트 블록으로 &에 의해 평가

+0

물론! 고맙습니다! :) – thomasb

관련 문제