답변:
기존 답변에 더 많은 정보를 추가하려면 부울 리터럴 $true및 $falsePowerShell (PS) 스크립트의 명령 줄 매개 변수로 사용될 때 와 같이 작동합니다. 이름이 installmyapp.ps1다음 과 같은 파일에 저장된 아래 PS 스크립트의 경우 :
param (
[bool]$cleanuprequired
)
echo "Batch file starting execution."
이제 PS 명령 행에서이 PS 파일을 호출해야한다면 다음과 같습니다.
installmyapp.ps1 -cleanuprequired $true
또는
installmyapp.ps1 -cleanuprequired 1
여기 1와 $true동일합니다. 또한, 0과 $false동등하다.
참고 : 문자열 리터럴 true이 자동으로 부울로 변환 될 수 있다고 기대하지 마십시오 . 예를 들어 아래 명령을 실행하면
installmyapp.ps1 -cleanuprequired true
아래 오류로 스크립트를 실행하지 못합니다.
'cleanuprequired'매개 변수에서 인수 변환을 처리 할 수 없습니다. "System.String"값을 "System.Boolean"유형으로 변환 할 수 없습니다. 부울 매개 변수는 $ True, $ False, 1 또는 0과 같은 부울 값과 숫자 만 허용합니다.