2011-02-08 5 views
3

저는 powershell 초보자입니다. Write-Host에서이 함수를 평가하기 위해 $()를 사용해야하는 이유는 무엇입니까? 나는이 문서에서 이유를 찾을 수 없었다.Powershell : 함수 보간

PS C:\Temp> Write-Host [math]::round($diff.TotalMinutes, 2) 
[math]::round 751681,102679735 2 

___________________________________________________________________________________________________________ 
PS C:\Temp> Write-Host $([math]::round($diff.TotalMinutes, 2)) 
751681,1 

답변

4

당신은 달러 기호를 제거하고 단지

Write-Host ([math]::round($diff.TotalMinutes, 2)) 

첫번째 표현식이 평가 될 수 있도록 브래킷을 파서에 필요한 다음 -Object을 매개 변수에 바인딩 할 수 있습니다. 구문 분석기는 문자열이 표현식이고 문자열을 문자열로 처리하여 평가하지 않고 명령에 전달할 때 몇 가지 규칙이 있습니다. 더 많은 정보는 PowerShell in Action에서 찾을 수 있습니다. ;

Write-Host $(get-date; 1; "test") 
+0

많은 감사로 구분하여 더 표현이있는 경우

달러 기호가 필요합니다 !!!! – tesmp